Form-Objekt für Visual Basic 6.0-Benutzer
Aktualisiert: November 2007
Das Form-Objekt von Visual Basic 6.0 wird in Visual Basic 2008 durch die Form-Klasse ersetzt. Die Namen einiger Eigenschaften, Methoden, Ereignisse und Konstanten wurden geändert, und in einigen Fällen weicht auch ihr Verhalten ab.
Konzeptionelle Unterschiede
Activate-Ereignis und Deactivate-Ereignis
In Visual Basic 6.0 werden das Activate-Ereignis und das Deactivate-Ereignis nur ausgelöst, wenn zwischen Formularen gewechselt wird.
In Visual Basic 2008 werden das Activated-Ereignis und das Deactivate-Ereignis auch ausgelöst, wenn zu oder von anderen Anwendungen gewechselt wird.
QueryUnload-Ereignis
In Visual Basic 6.0 verarbeitet das QueryUnload-Ereignis zwei Argumente mit den Namen Cancel und UnloadMode. Durch Abfragen des UnloadMode-Arguments kann festgestellt werden, warum das Formular entladen wird, und falls erforderlich, kann dieser Vorgang dann abgebrochen werden.
In Visual Basic 2008 wird das QueryUnload-Ereignis durch das FormClosing-Ereignis ersetzt. UnloadMode wird durch CloseReason ersetzt.
Picture-Eigenschaft
In Visual Basic 6.0 wird ein der Picture-Eigenschaft zugewiesenes Bild in der oberen linken Ecke des Formulars angezeigt, wenn das Bitmap-Bild kleiner als das Formular ist.
In Visual Basic 2008 wird die Picture-Eigenschaft durch die BackgroundImage-Eigenschaft ersetzt. Wenn das Bild, das der BackgroundImage-Eigenschaft zugewiesen ist, kleiner ist als das Formular, wird es standardmäßig mehrfach nebeneinander angeordnet.
Moveable-Eigenschaft
In Visual Basic 6.0 konnte die Moveable-Eigenschaft eines Formulars auf False festgelegt werden, damit Benutzer das Formular zur Laufzeit nicht verschieben konnten. Windows Forms in Visual Basic 2008 verfügen über keine entsprechende Eigenschaft.
Obwohl dies im Allgemeinen als schlechte Gestaltung einer Benutzeroberfläche gilt, können Sie in Visual Basic 2008 ein ähnliches Verhalten erzielen, indem Sie die FormBorderStyle-Eigenschaft auf None und die ControlBox-Eigenschaft auf False festlegen.
ValidateControls-Methode
In Visual Basic 6.0 wird mit der ValidateControls-Methode das Validate-Ereignis für das Steuerelement erzwungen, das den Fokus besitzt, wenn ein Formular geschlossen wird. Wenn das Validate-Ereignis fehlschlägt, wird ein Fehler ausgelöst.
In Visual Basic 2008 wird die ValidateControls-Methode durch die Validate-Methode ersetzt, die True oder False zurückgibt.
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 das MDI-Formular über keinen Clientbereich zum Empfangen von Mausereignissen verfügt.
Änderungen am Code des Form-Objekts
Im folgenden Beispiel werden Unterschiede in den Codierungstechniken von Visual Basic 6.0 und Visual Basic 2008 dargestellt.
Änderungen am Code zur Bestimmung des Grunds, warum ein Formular geschlossen wird
Der folgende Code kann Ihnen bestimmen helfen, warum ein Formular geschlossen wird und wie unter Berücksichtigung des jeweiligen Grunds darauf zu reagieren ist. Im Visual Basic 6.0-Beispiel wird das UnloadMode-Argument des QueryUnload-Ereignisses verwendet. Im Visual Basic 2008-Beispiel wird das Argument durch den CloseReason-Parameter im FormClosing-Ereignishandler ersetzt.
' Visual Basic 6.0
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If UnloadMode = vbFormControlMenu Then
Cancel = True
End If
End Sub
' Visual Basic
Private Sub Form1_FormClosing(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles _
MyBase.FormClosing
If e.CloseReason.UserClosing Then
e.Cancel = True
End If
End Sub
Änderungen am Code zum Überprüfen eines Steuerelements beim Schließen des Formulars
Im folgenden Code wird veranschaulicht, wie die Validierung des Steuerelements, das den Fokus besitzt, erzwungen wird, wenn das Formular geschlossen wird. In diesem Beispiel wird davon ausgegangen, dass die CausesValidation-Eigenschaft des TextBox-Steuerelements auf den Standardwert True festgelegt wird.
' Visual Basic 6.0
Private Sub Text1_Validate(Cancel As Boolean)
If Text1.Text = "" Then
MsgBox ("Please enter a name")
Cancel = True
End If
Private Sub Form_Unload(Cancel As Integer)
OnError GoTo ERR_HANDLER
Me.ValidateControls
ERR_HANDLER:
' If validation failed cancel the Unload event.
If Err.Number = 380 Then
Cancel = True
End If
End Sub
' Visual Basic
Private Sub TextBox1_Validating(ByVal sender As Object, ByVal e As _
System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating
If TextBox1.Text = "" Then
MsgBox("Please enter a name")
e.Cancel = True
End If
End Sub
Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e _
As System.Windows.Forms.FormClosingEventArgs) Handles _
MyBase.FormClosing
' If validation failed cancel the Closing event.
If Me.Validate = False Then
e.Cancel = True
End If
End Sub
Entsprechungen zu Eigenschaften, Methoden und Ereignissen des Form-Objekts
In den folgenden Tabellen werden Eigenschaften, Methoden und Ereignisse von Visual Basic 6.0 zusammen mit ihren Visual Basic 2008-Eigenschaften aufgeführt. Die Eigenschaften, Methoden und Ereignisse, die den gleichen Namen und das gleiche Verhalten haben, werden nicht aufgeführt. Sofern vorhanden, wurden Konstanten unter der Eigenschaft oder Methode eingerückt aufgelistet. Alle Visual Basic 2008-Enumerationen werden, sofern nicht anders angegeben, dem System.Windows.Forms-Namespace zugeordnet.
Bei Bedarf werden Links zu Themen bereitgestellt, in denen die Unterschiede im Verhalten erläutert werden. Wenn in Visual Basic 2008 keine direkte Entsprechung vorhanden ist, werden Links zu Themen bereitgestellt, die Alternativen behandeln.
Form-Eigenschaften
Visual Basic 6.0 |
Visual Basic 2008-Entsprechung |
---|---|
Appearance |
Neue Implementierung. Weitere Informationen finden Sie unter Appearance-Eigenschaft und BorderStyle-Eigenschaft für Visual Basic 6.0-Benutzer. |
AutoRedraw |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
BackColor |
Hinweis:
Farben werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Farbverhalten für Visual Basic 6.0-Benutzer.
|
BorderStyle |
|
Caption |
|
ClipControls |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
Controls |
Hinweis:
Es bestehen Unterschiede in der Controls-Auflistung in Visual Basic 2008. Weitere Informationen finden Sie unter Controls-Auflistung für Visual Basic 6.0-Benutzer.
|
Count |
Hinweis:
Es bestehen Unterschiede in der Controls-Auflistung in Visual Basic 2008. Weitere Informationen finden Sie unter Windows Forms-Steuerelemente für Visual Basic 6.0-Benutzer.
|
CurrentX CurrentY |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
DrawMode DrawStyle DrawWidth |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
FillColor FillStyle |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
Font FontBold FontItalic FontName FontSize FontStrikethrough FontUnderline |
Hinweis:
Schriftarten werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Font-Objekt für Visual Basic 6.0-Benutzer.
|
ForeColor |
Hinweis:
Farben werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Farbverhalten für Visual Basic 6.0-Benutzer.
|
HasDC |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
HDC |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
Height |
Hinweis:
Koordinaten werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Koordinatensystem für Visual Basic 6.0-Benutzer.
|
HelpContextID |
Neue Implementierung. Weitere Informationen finden Sie unter Hilfeunterstützung für Visual Basic 6.0-Benutzer. |
HWnd |
|
Image |
Neue Implementierung. Von der Image-Eigenschaft in Visual Basic 6.0 wurde ein Handle für eine Bitmap zurückgegeben. Bilder in Visual Basic 2008 verfügen nicht über Handles. |
Left |
Hinweis:
Koordinaten werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Koordinatensystem für Visual Basic 6.0-Benutzer.
|
LinkMode LinkTopic |
Keine Entsprechung. Weitere Informationen finden Sie unter Dynamischer Datenaustausch (Dynamic Data Exchange, DDE) für Visual Basic 6.0-Benutzer. |
MaxButton |
|
MDIChild |
Hinweis:
Das MDI-Verhalten ist in Visual Basic 2008 anders. Weitere Informationen finden Sie unter MDI für Visual Basic 6.0-Benutzer.
|
MinButton |
|
MouseIcon |
Neue Implementierung. Weitere Informationen finden Sie unter Es kann kein benutzerdefinierter MousePointer festgelegt werden. |
MousePointer |
Eine Liste mit Konstanten finden Sie unter MousePointer für Visual Basic 6.0-Benutzer. |
Moveable |
Neue Implementierung. Weitere Informationen finden Sie unter Moveable-Eigenschaft für Visual Basic 6.0-Benutzer. |
Name |
|
NegotiateMenus |
Neue Implementierung. Weitere Informationen finden Sie unter Menu-Objekt für Visual Basic 6.0-Benutzer. |
OLEDropMode |
Neue Implementierung. Weitere Informationen finden Sie unter Drag & Drop für Visual Basic 6.0-Benutzer. |
Palette PaletteMode |
Neue Implementierung. Weitere Informationen finden Sie unter Paletten für Visual Basic 6.0-Benutzer. |
Picture |
Hinweis:
In Visual Basic 6.0 wurde das Picture in der oberen linken Ecke des Formulars angezeigt. In Visual Basic 2008 wird das BackgroundImage mehrfach nebeneinander angeordnet.
|
RightToLeft: True False |
Yes-Enumerationswert |
ScaleHeight ScaleLeft ScaleMode ScaleTop ScaleWidth |
Neue Implementierung. Weitere Informationen finden Sie unter Koordinatensystem für Visual Basic 6.0-Benutzer. |
StartUpPosition: 0 – Manual 1 – CenterOwner 2 – CenterScreen 3 – Windows Default |
Manual-Enumerationswert CenterParent-Enumerationswert CenterScreen-Enumerationswert WindowsDefaultLocation-Enumerationswert |
Top |
Hinweis:
Koordinaten werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Koordinatensystem für Visual Basic 6.0-Benutzer.
|
WhatsThisButton |
Hinweis:
Es bestehen Unterschiede im Hilfeverhalten in Visual Basic 2008. Weitere Informationen finden Sie unter Hilfeunterstützung für Visual Basic 6.0-Benutzer.
|
WhatsThisHelp |
Neue Implementierung. Weitere Informationen finden Sie unter Hilfeunterstützung für Visual Basic 6.0-Benutzer. |
Width |
Hinweis:
Koordinaten werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Koordinatensystem für Visual Basic 6.0-Benutzer.
|
Form-Methoden
Visual Basic 6.0 |
Visual Basic 2008-Entsprechung |
---|---|
Circle |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
Cls |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
Line |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
Move |
Hinweis:
Koordinaten werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Koordinatensystem für Visual Basic 6.0-Benutzer.
|
OLEDrag |
Neue Implementierung. Weitere Informationen finden Sie unter Drag & Drop für Visual Basic 6.0-Benutzer. |
PaintPicture |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
Point |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
PopupMenu |
Neue Implementierung. Weitere Informationen finden Sie unter Menu-Objekt für Visual Basic 6.0-Benutzer. |
PrintForm |
Neue Implementierung. Weitere Informationen finden Sie unter Änderungen an Druckvorgängen für Visual Basic 6.0-Benutzer. |
Pset |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
Scale ScaleX ScaleY |
Neue Implementierung. Weitere Informationen finden Sie unter Koordinatensystem für Visual Basic 6.0-Benutzer. |
SetFocus |
|
Show |
Show oder ShowDialog |
TextHeight |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
TextWidth |
Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer. |
ValidateControls |
Hinweis:
Die Validate-Methode gibt True oder False zurück; ValidateControls löste einen Fehler aus, wenn die Validierung fehlschlug.
|
WhatsThisMode |
Neue Implementierung. Weitere Informationen finden Sie unter Hilfeunterstützung für Visual Basic 6.0-Benutzer. |
ZOrder: 0 – vbBringToFront 1 - vbSendToBack |
BringToFront-Funktion oder SendToBack-Funktion |
Form-Ereignisse
Visual Basic 6.0 |
Visual Basic 2008-Entsprechung |
---|---|
Activate |
Hinweis:
In Visual Basic 6.0 wird das Activate-Ereignis nur dann ausgelöst, wenn zwischen Formularen einer Anwendung gewechselt wird. In Visual Basic 2008 wird das Activated-Ereignis auch ausgelöst, wenn von anderen Anwendungen gewechselt wird.
|
Click |
Hinweis:
Das Click-Ereignis wird für MDI-Formulare nicht unterstützt.
|
DblClick |
|
Deactivate |
Hinweis:
In Visual Basic 6.0 wird das Deactivate-Ereignis nur dann ausgelöst, wenn zwischen Formularen einer Anwendung gewechselt wird. In Visual Basic 2008 wird es auch ausgelöst, wenn zu anderen Anwendungen gewechselt wird.
|
DragDrop DragOver |
Neue Implementierung. Weitere Informationen finden Sie unter Drag & Drop für Visual Basic 6.0-Benutzer. |
GotFocus |
|
Initialize |
New-Methode
Hinweis:
Die New-Methode verhält sich anders als das Initialize-Ereignis. Weitere Informationen finden Sie unter Formularaufgaben für Visual Basic 6.0-Benutzer.
|
LinkClose LinkError LinkExecute LinkOpen |
Keine Entsprechung. Weitere Informationen finden Sie unter Dynamischer Datenaustausch (Dynamic Data Exchange, DDE) für Visual Basic 6.0-Benutzer. |
MouseDown |
Hinweis:
Das MouseDown-Ereignis wird für MDI-Formulare nicht unterstützt.
|
MouseMove |
Hinweis:
Das MouseMove-Ereignis wird für MDI-Formulare nicht unterstützt.
|
MouseUp |
Hinweis:
Das MouseUp-Ereignis wird für MDI-Formulare nicht unterstützt.
|
OLECompleteDrag OLEDragDrop OLEDragOver OLEGiveFeedback OLESetData OLEStartDrag |
Neue Implementierung. Weitere Informationen finden Sie unter Drag & Drop für Visual Basic 6.0-Benutzer. |
QueryUnload |
Hinweis:
In Visual Basic 6.0 verarbeitet QueryUnload zwei Argumente mit den Namen Cancel und UnloadMode. In Visual Basic 2008 wird Cancel durch Cancel ersetzt. UnloadMode wird durch CloseReason ersetzt.
|
Terminate |
Dispose-Methode
Hinweis:
Die Dispose-Methode verhält sich anders als das Terminate-Ereignis. Weitere Informationen finden Sie unter Formularereignisse für Visual Basic 6.0-Benutzer.
|
Unload |
Hinweis:
Das Verhalten des FormClosing-Ereignisses unterscheidet sich von dem des Unload-Ereignisses. Weitere Informationen finden Sie unter Formularereignisse für Visual Basic 6.0-Benutzer.
|
Siehe auch
Konzepte
Formularaufgaben für Visual Basic 6.0-Benutzer