Share via


フォームのイベント (Visual Basic 6.0 ユーザー向け)

更新 : 2007 年 11 月

Visual Basic 6.0 と Visual Basic 2008 では、フォーム イベントの動作に少し違いがあります。

概念の違い

Initialize イベント

Visual Basic 6.0 では、フォームを読み込む前にコードを実行する場合、Initialize イベントを使用します。

Visual Basic 2008 では、次の例に示すように、フォーム コンストラクタ (Sub New()) 内で InitializeComponent() の呼び出しの後に初期化コードを追加する必要があります。

' Visual Basic 6.0 
Private Sub Form_Initialize()
    MsgBox("The form is loading")
End Sub

 

' Visual Basic .NET 
Public Sub New()
    ' This call is required by the Windows Form Designer.
    InitializeComponent()
    ' Add any initialization after the InitializeComponent() call.
    MsgBox("The form is loading")
End Sub
メモ :

一般に Initialize イベントは、フォームの読み込み中に情報を表示する "スプラッシュ" フォームを表示するために使用されます。Visual Basic 2008 アプリケーションには SplashScreen プロパティがあり、これを使ってアプリケーションの起動時に自動的にフォームを表示できます。詳細については、「方法 : アプリケーションのスプラッシュ スクリーンを指定する (Visual Basic)」を参照してください。

Terminate イベント

Visual Basic 6.0 では、フォームをアンロードした後にコードを実行する場合、Terminate イベントを使用します。

Visual Basic 2008 では、Terminate イベントはサポートされなくなりました。Dispose メソッド内で、MyBase.Dispose() の呼び出しの前に終了コードを実行する必要があります。

メモ :

Dispose メソッドは、アプリケーションのメイン フォームに対しては自動的に呼び出されます。それ以外のフォームに対しては、明示的に呼び出す必要があります。

違いを示す例を次に示します。

' Visual Basic 6.0 
Private Sub Form_Terminate()
    MsgBox "The form was terminated"
End Sub

 

' Visual Basic .NET 
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
    If disposing AndAlso components IsNot Nothing Then
        MsgBox("The form was terminated")
        components.Dispose()
    End If
    MyBase.Dispose(disposing)
End Sub

Unload イベント

Visual Basic 6.0 では、Unload イベントに Cancel 引数があります。Visual Basic 2008 では、このイベントは Closed イベントに置き換えられ、Cancel 引数はなくなりました。アンロードを途中でキャンセルする場合は、Closing イベントを使用します。

MDI フォームのマウス イベント

Visual Basic 6.0 では、MDI フォームでマウス イベントがサポートされています。Visual Basic 2008 では、MDI フォーム上にマウス イベントを受け取るクライアント領域がないため、MDI フォームでは Click、MouseDown、MouseMove、および MouseUp の各イベントはサポートされません。

参照

概念

Form オブジェクト (Visual Basic 6.0 ユーザー向け)

参照

Form

Form.Closing