.NET Framework 2.0からはForm.Shownイベントが追加されました。このイベントは、フォームが初めて表示されたときに発生します。
フォームがロードされてから表示された時、Form.Activatedイベントが発生します。よって、Form.Activatedイベントが初めて発生した時に、フォームが初めて表示されたと判断できます。
以下の例では、Form1_ActivatedでActivatedイベントとの接続を解除することによりForm1_Activatedが一度だけ呼び出されるようにしていますが、フラッグを立てることにより始めてのActivatedイベントかを判断することもできます。
'フォームのLoadイベントハンドラ Private Sub Form1_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles MyBase.Load 'Activatedイベントハンドラの追加 AddHandler Me.Activated, AddressOf Form1_Activated End Sub Private Sub Form1_Activated( _ ByVal sender As Object, ByVal e As EventArgs) 'Form1_Activatedが二度と呼び出されないようにする RemoveHandler Me.Activated, AddressOf Form1_Activated Console.WriteLine("Form1が表示されました") End Sub
//Form1のLoadイベントハンドラ private void Form1_Load(object sender, System.EventArgs e) { //Activatedイベントハンドラの追加 this.Activated += new EventHandler(Form1_Activated); } private void Form1_Activated(object sender, EventArgs e) { //Form1_Activatedが二度と呼び出されないようにする this.Activated -= new EventHandler(Form1_Activated); Console.WriteLine("Form1が表示されました"); }