Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
Hinweis: