12

フォームが読み込まれると、コードはデータグリッド、コンボボックスの設定、タイトルの設定などを行う必要があります。私は常に new (コンストラクター) ではなく load イベントを使用する傾向がありました。どのアクティビティに最適かについてのガイドラインはありますか?

4

3 に答える 3

3

InitializeComponent への呼び出しは、フォーム/ページのコンストラクターに自動的に挿入されます。InitializeComponent は、自動生成されたメソッドです。

  • winform / XAML ページにさまざまな UI 要素を作成します
  • リソースファイルに保存されている値でプロパティを初期化します

したがって、UI の配置/変更に関連するものはすべて、この呼び出しの後に行う必要があります。Form.OnLoad のオーバーライドでこれを行うと、UI の準備ができていることが保証されます (InitializeComponent が呼び出されます)...そのため、UI の OnLoad に固執することに投票します。
非 UI メンバーを作成する場合、最初に確認するのはコンストラクターです。

于 2008-11-05T06:38:53.973 に答える
2

フォームのコンストラクター内のすべてが、そのフォームの作成時に作成/実行されることに注意してください。私は食べる:

フォーム frm = 新しいフォーム();

一方、Load イベントでは、フォームが表示されている場合にのみ発生します。つまり、frm.Show();

于 2008-11-05T09:46:38.120 に答える
1

基本的に、コンストラクターはできるだけ軽量にする必要があります。UI 要素が作成され、現時点で使用できるように、ほとんどのものを Load イベント ハンドラーに入れるようにしています。ただし、実際にはオブジェクトの構築の一部であるため、コンストラクターでクラスオブジェクトなどをインスタンス化するのが通常です。ある場所に物を置くことができない場合もありますが、できる場合は、最も適切と思われる場所に置く必要があります。

于 2008-11-05T05:43:32.557 に答える