Formularereignisse für Visual Basic 6.0-Benutzer
Aktualisiert: November 2007
Zwischen Visual Basic 6.0 und Visual Basic 2008 gibt es einige Unterschiede hinsichtlich des Verhaltens von Formularereignissen.
Konzeptionelle Unterschiede
Initialize-Ereignis
In Visual Basic 6.0 wird vor dem Laden eines Formulars Code mit dem Initialize-Ereignis ausgeführt.
In Visual Basic 2008 muss dem Formularkonstruktor (Sub New()) nach dem Aufruf von InitializeComponent() Initialisierungscode hinzugefügt werden. Betrachten Sie hierzu das folgende Beispiel:
' 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
Hinweis: |
---|
Häufig wird das Initialize-Ereignis dazu verwendet, während des Ladens des Formulars ein Begrüßungsformular anzuzeigen. Visual Basic 2008-Anwendungen haben eine SplashScreen-Eigenschaft, mit der während des Starts der Anwendung automatisch ein Formular angezeigt werden kann. Weitere Informationen finden Sie unter Gewusst wie: Angeben eines Begrüßungsbildschirms für eine Anwendung (Visual Basic). |
Terminate-Ereignis
In Visual Basic 6.0 wird nach dem Entladen eines Formulars Code mit dem Terminate-Ereignis ausgeführt.
In Visual Basic 2008 wird das Terminate-Ereignis nicht mehr unterstützt. Terminierungscode muss innerhalb der Dispose-Methode vor dem Aufruf von MyBase.Dispose() ausgeführt werden.
Hinweis: |
---|
Die Dispose-Methode wird für das Hauptformular in einer Anwendung automatisch aufgerufen; für alle anderen Formulare müssen Sie sie explizit aufrufen. |
Das folgende Beispiel verdeutlicht die Unterschiede:
' 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-Ereignis
In Visual Basic 6.0 verfügt das Unload-Ereignis über ein Cancel-Argument. In Visual Basic 2008 wurde es durch das Closed-Ereignis ersetzt, das kein Cancel-Argument enthält. Wenn beim Entladen ein Abbruch erforderlich ist, müssen Sie stattdessen das Closing-Ereignis verwenden.
Mausereignisse für MDI-Formulare
In Visual Basic 6.0 werden Mausereignisse von MDI-Formularen unterstützt. In Visual Basic 2008 werden die Ereignisse Click, MouseDown, MouseMove und MouseUp für MDI-Formulare nicht mehr unterstützt, da ein MDI-Formular über keinen Clientbereich zum Empfangen von Mausereignissen verfügt.
Siehe auch
Konzepte
Form-Objekt für Visual Basic 6.0-Benutzer