0

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

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

また、私は必要なものしたがって、デザイナーは、それをいじって初期化コンポーネントに呼び出すことはありません。イオンは実行時には機能しますが、デザインビューでは機能しません。私はちょっと低いです。

答えて

0

私が知る限り、短い答えはいいえです。何かがDo not edit due to code generation.とマークされている場合は、編集しないでください:)。私はpartial classesを読むことをお勧めします。それは、実際に自動生成されたコードを邪魔することなくクラスを修正する方法です。あなたのケースでは、あなたはデザイナーに入り、そこにあるすべてのものを修正して、あなたが期待するように自動生成が動作するようにする必要があります。

+0

実際、私は、デザイナーが幸せになるようにInitializeComponentメソッドを呼び出す必要のある部分クラスを作成しました。しかし、私がデザインビューに切り替えると、私のちょっとした名前のメソッドがあると言います:InitializeComponent_so_Designer_does_not_screw_it()がWindows.Forms.UserControlに見つかりません –

+0

あなたの答えに感謝しますが、回避策を見つけようとします。デザイナーに問題があります... –

+0

Hrmmm、多分いくつかのコードはここで助けになるでしょうか? –

関連する問題