0

WinForm デザイナで問題が発生しています。新しい UserControl を作成し、DataGridView、その他の要素、および TreeView を追加しました。GUI を使用して、これらすべての新しいコンポーネントに名前を付けました。今度はそのコードをコーディングします。デザイナーが TreeView のノードの名前を間違えたことに気付きました。AutoGenerateColumn が false に設定されていても、デザイナーは DataSource から新しい列を追加しました。私は「まあ、デザイナーのがらくたをもう一度きれいにする時間です...」そして、 InitializeComponent 関数でそのようなものをきれいにしました(「コードエディターで変更しないでください」というラベルが付いていることは知っていますが...選択肢がありますか?

とにかく、私の問題は次のとおりです。デザイン ビューに戻ると、VS デザイナーはコードを再生成しているように見えますが、元の状態でさえありません。これで、デザイナーは DataGridView と TreeView を InitializeComponent 関数のローカル メンバーとして宣言します。変更を簡単に修復して元に戻すことができますが、デザイナーの自動コード生成を無効にする方法があるかどうかを知りたいです。

また、デザイナーが台無しにして初期化コンポーネントに呼び出さないように、必要なものをすべて備えた別の関数を作成しようとしました。このソリューションは実行時に機能しますが、デザイン ビューでは機能しません。私はちょっと低いです。

4

1 に答える 1

0

私の知る限り、短い答えはノーです。何かが としてマークされている場合はDo not edit due to code generation.、編集しないでください:)。部分クラスを読むことをお勧めします。これは、自動生成されたコードを実際にいじらずにクラスを変更できる方法です。あなたの場合、自動生成が期待どおりに機能するように、デザイナーに移動してそこですべてを修正する必要があります。

于 2012-03-02T17:01:36.393 に答える