.net column

.NET開発者のためのブログメディア

C#でのFormのLoadイベントの特徴について詳しく解説!

2020年08月28日

SE
C#でのLoadイベントの作成に興味があります。詳しく教えてください。

PM
分かりました。では、Loadイベントとは何か、全体を詳しく見ていきましょう。

C#でのFormのLoadイベントについて

今回は、C#でのFormのLoadイベントについてご説明していきます。

Loadイベントと、他のイベントとの順序性や、Loadイベントの特徴について説明します。C#でのFormのLoadイベントに興味のある方はぜひご覧ください。

Loadイベント

C#でFormのLoadイベントを作成するには、以下のようにします。

実際のソースコードを見てみましょう。

起動時にコンソールに””Form1_Load””が出力されることが分かります。

起動時のイベント順序

Form起動時には、Loadイベント・Shownイベント・Activatedイベントがあります。C#でのイベントの発生順序を確認してみましょう。

起動後に、別のWindowを選択したりFormを選択したりしてFormを終了させると、コンソールには以下のような出力結果となります。

Loadイベントは、Formが初めて表示される直前に発生します。(1回のみ)Activatedイベントは、FormがActivateになると発生します。

Shownイベントは、Formが初めて表示されるときに発生します。(1回のみ)起動時は、Load→Activated→Shownの順に発生します。

その後、別のWindowにFocusを移動するとDeactivateイベントが発生します。Formの終了時には、FormClosing→FormClosed→Deactivateの順に発生します。

C#では、このような順でイベントが発生します。

Loadのタイミング

C#でのLoadイベントは、Formが初めて表示される直前に発生します。

実際にFormの表示前にイベントが発生していることを確認してみましょう。

実行すると、””Form1_Load””のMessageBoxが表示され、OKボタンをクリックするとFormが表示されることが分かります。

その後、””Form1_Shown””のMessageBoxが表示されます。

Loadのタイミング その2

C#でのLoadイベント発生時はFormが表示されていないため、やらないほうが良いことがあります。

例えば、Form起動時に特定のコントロールにFocusを当てたい場合、Loadイベントではやるべきではありません。

実際のソースコードで確認してみましょう。

この場合、ShownイベントでFocusすると、button2にFocusされることが分かります。

Loadイベントでbutton2.Focus()を実行しても、button1にFocusがある状態です。

C#では、Loadイベントはコントロールの初期処理、Shownイベントは時間のかかる初期処理を実施するとよいです。

ボタンイベントでFormLoad実行

イベントハンドラも関数なので、ボタンのClickイベントでLoadイベントを実行することもできます。

実際のソースコードを見てみましょう。

button1をClickすると、Loadイベントが実行されることが分かります。

SE
イベントとは、実行されるアクションのことだったんですね。

PM
基本を押さえておけば非常に便利な機能です。実際にコードを書いて理解を深めていきましょう。

C#でのFormのLoadイベントの特徴について知ろう

いかがでしたでしょうか。C#でのFormのLoadイベントと他のイベントとの順序性や、Loadイベントの特徴について説明しました。ぜひご自身でC#のソースコードを書いて、理解を深めてみましょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)