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

BackColor

Hinweis:
Farben werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Farbverhalten für Visual Basic 6.0-Benutzer.

BorderStyle

FormBorderStyle

Caption

Text

ClipControls

Neue Implementierung. Weitere Informationen finden Sie unter Grafiken für Visual Basic 6.0-Benutzer.

Controls

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

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

Font

Hinweis:
Schriftarten werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Font-Objekt für Visual Basic 6.0-Benutzer.

ForeColor

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

Height, Size

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

Handle

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

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

MaximizeBox

MDIChild

MdiParent

Hinweis:
Das MDI-Verhalten ist in Visual Basic 2008 anders. Weitere Informationen finden Sie unter MDI für Visual Basic 6.0-Benutzer.

MinButton

MinimizeBox

MouseIcon

Neue Implementierung. Weitere Informationen finden Sie unter Es kann kein benutzerdefinierter MousePointer festgelegt werden.

MousePointer

Cursor

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

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

BackgroundImage

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

RightToLeft

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

StartPosition

 Manual-Enumerationswert

 CenterParent-Enumerationswert

 CenterScreen-Enumerationswert

 WindowsDefaultLocation-Enumerationswert

Top

Top

Hinweis:
Koordinaten werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Koordinatensystem für Visual Basic 6.0-Benutzer.

WhatsThisButton

HelpButton

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

Width, Size

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

SetBounds

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

Activate

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

Validate

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

 BringToFront

 SendToBack

Form-Ereignisse

Visual Basic 6.0

Visual Basic 2008-Entsprechung

Activate

Activated

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

Click

Hinweis:
Das Click-Ereignis wird für MDI-Formulare nicht unterstützt.

DblClick

DoubleClick

Deactivate

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

Enter

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

MouseDown

Hinweis:
Das MouseDown-Ereignis wird für MDI-Formulare nicht unterstützt.

MouseMove

MouseMove

Hinweis:
Das MouseMove-Ereignis wird für MDI-Formulare nicht unterstützt.

MouseUp

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

FormClosing

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

FormClosing

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

Weitere Ressourcen

Windows Forms