2017-02-06 9 views
0

私たちは180種類以上のコントロールを持つ非常にコンパクトなwinformを持っています。
これらのコントロールのほとんどは動的に配置され、一部はいくつかの設定に基づいて表示/非表示されます。
コードの最適化の一環として、InitializeComponentを3つに分割し、パラメータに基づいたフォームのコンストラクタで、初期化されたワークフローのコントロールのみを持つInitializeComponentを選択します。 winform用の複数のInitializeComponent

は、このアプローチの権利です、この

+1

いいえ、それは正しいアプローチではありません。 InitializeComponent()を "最適化"する意味がなくなりましたが、あなたはこのメソッドを自分で記述しませんでした。せいぜいデザイナーでフォームを開くことができなくなります。最悪の場合、変更がすべてトレースなしで消えてしまいます。もっと論理的なアプローチは、3つのUserControlsを作成することです。フォームクラスは非常に小さくなり、表示したいUCを作成するだけです。これらのUCに共通の事柄がある場合は、そうした場合がありますが、別のものを派生させてコードを複製しないでください。 –

+0

提案していただきありがとうございます サンプルフォームで疲れてしまい、デザイナーフォームを開くことができました。もう1つのポイントUCを使用すると、フォームデザインごとにコントロールを再配置する必要があります。すべてのコントロールは動的に配置されます – AnoopJamesLeo

答えて

0

を行うための他の方法は、あなたがデザイナーをあきらめとのInitializeComponent()メソッドを自分で書きましたと仮定すると、右のように思えるがあります。そうしないと、デザイナーがコードを何らかの方法で上書きすることがあります。

+0

あなたが提案する他のどのようなより良い実装 – AnoopJamesLeo

+0

@ HansPassantのソリューションも良いです。私はしばらくの間winformsをやっていない。 –

関連する問題