2

これは私の最初の Windows フォーム プロジェクトであり、Windows フォーム デザイナー ツールを使用してエラーを修正する方法について少し混乱しています。デザイナーでエラーを修正するためのワークフローを誰かが理解するのを手伝ってくれることを願っています。

変更する VB.NET のテンプレート アプリケーションが提供されました。私は次のようなワークフローを何度か経験しました: デモ アプリケーションには、数値のアップ/ダウン エントリが必要なドロップダウン リスト セレクターが含まれています。変更するのは難しくないはずですよね?Visual Studio でのトレーニングがまったくないので、オブジェクトをクリックして「プロパティ」を検索し、そこで変更したいと考えました。運がない。このフローチャートに従って、ドロップダウンを右クリックして「変換」を選択し、数値アップ/ダウン オブジェクトを選択すると、見よ、数値アップ/ダウン エントリがフォームに表示されました。

Project.vb ファイルに切り替えてオブジェクトのイベント ハンドラーを変更し、MessageBox.Show呼び出しを追加してすべてが機能していることを確認し、プロジェクトをビルドしました。

次の 2 つのエラーを受け取りました。

Error   2   Type 'MyCorp.ProcessControl.ControlLibrary.ToolStripNumericUpDown' is not defined.  C:\HMI\HMI.Designer.vb  192
Error   3   Type 'Mycorp.ProcessControl.ControlLibrary.ToolStripNumericUpDown' is not defined.  C:\HMI\HMI.Designer.vb  1978

関連するソース行が(それぞれ)読み取られます

192:  Me.tscb_PartNumberSelector = New Mycorp.ProcessControl.ControlLibrary.ToolStripNumericUpDown()
1978: Friend WithEvents tscb_PartNumberSelector As MyCorp.ProcessControl.ControlLibrary.ToolStripNumericUpDown

どうやら、私はカスタム ControlLibrary を使用していますが、数値アップ/ダウン ツールはありません。そのライブラリの作成者にバグを追加して、システム標準の NumericUpDown を使用し、それを DropDownList に変換して、そのリストに可能な数字を入力するか、プレーンな古いテキスト エントリを使用する必要があるようです。開発を前進させるために何でも!

そこで、「HMI [デザイン]」タブをクリックすると、大きな警告ページが表示されました。

デザイナをロードする前にデータが失われる可能性を防ぐには、次のエラーを解決する必要があります。

デザイナーは 191 行目のコードを処理できません。

Me.tscb_PartNumberSelector = New Gentex.ProcessControl.ControlLibrary.ToolStripNumericUpDown() 

メソッド 'InitializeComponent' 内のコードはデザイナーによって生成されるため、手動で変更しないでください。変更をすべて削除して、デザイナーをもう一度開いてみてください。

このエラーのインスタンス (1)
1. HMI HMI.Designer.vb Line:191 Column:1
Show Call Stack

このエラーに関するヘルプ このエラー
に関連するヘルプ トピックが見つかりませんでした。Windows フォームのデザイン時のエラー一覧を確認する

このエラーに関するフォーラムの投稿
MSDN フォーラムで、このエラーに関連する投稿を検索します。

幸いなことに、私はファイル Hmi.Designer.vb をバージョン管理下に置いており、必要に応じてすべてを元に戻すことができます。

ここで期待されるワークフローは何ですか?

  1. プロジェクトへのすべての変更を元に戻し、再試行してください。
    これにより、ユーザーはバージョン管理なしで狭い場所で操作したままになり (「ctrl-z」を数回押す代わりに、プロジェクト全体をやり直さなければなりません)、私が行った他の変更の一部が失われます (つまり、壊れていない可能性があります)。
  2. 「変更しないでください」とマークされたコードの Designer.vb ファイルの行ごとの変更を元に
    戻します コードを変更する場所が複数あるため、これはエラーが発生しやすくなります - HMI.vb と HMI.Designer.vb のいくつかの場所.
  3. 無視して続行し、デザイナーを使用して変更を元に戻そうとします。
    これにより、私が抱えていた問題が悪化し、重複したコードが生成されたようです。

他のものを機能させることができなかったので、私は1で行きましたが、私はこの問題に再び遭遇することを期待しています. どのように対処すればよいですか?

4

1 に答える 1

1

デザイナのコードは他のコードとまったく同じです。古いコードと変更内容の両方を理解していない限り、変更しないでください。ただし、知っていれば安全に実行できます。

覚えておくべき主な注意点は、コードを読み取ってから再生成することです。コードを機能させるためにそこに何かを入れても、デザイナーがそれを理解していない場合、デザイナーを使用してさらに変更を加えることはできません。 。あなたはそれを避けたいでしょう。

特定の時間に行う最善の方法は状況によって異なります。頻繁に元に戻すのが最も簡単で簡単な方法ですが、必要に応じて、生成されたコードの編集を安全に行うことができます。

于 2012-09-18T20:36:47.077 に答える