Share via


Objet Form pour les utilisateurs de Visual Basic 6.0

Mise à jour : novembre 2007

L'objet Form de Visual Basic 6.0 est remplacé par la classe Form dans Visual Basic 2008. Les noms de certains événements, propriétés, méthodes et constantes ont changé. En outre, dans certains cas, leur comportement est également différent.

Différences conceptuelles

Événements Activate et Deactivate

Dans Visual Basic 6.0, les événements Activate et Deactivate sont déclenchés uniquement lors du basculement entre formulaires.

Dans Visual Basic 2008, les événements Activated et Deactivate sont également déclenchés lors du basculement de ou vers d'autres applications.

Événement QueryUnload

Dans Visual Basic 6.0, l'événement QueryUnload accepte deux arguments, Cancel et UnloadMode. En interrogeant l'argument UnloadMode, vous pouvez déterminer la raison pour laquelle le formulaire est déchargé, puis annuler si nécessaire.

Dans Visual Basic 2008, l'événement QueryUnload est remplacé par l'événement FormClosing ; UnloadMode est remplacé par CloseReason.

Propriété Picture

Dans Visual Basic 6.0, une image assignée à la propriété Picture est affichée dans le coin supérieur gauche du formulaire si la bitmap est plus petite que le formulaire.

Dans Visual Basic 2008, la propriété Picture est remplacée par la propriété BackgroundImage ; si l'image assignée à la propriété BackgroundImage est plus petite que le formulaire, elle sera disposée en mosaïque par défaut.

Propriété Moveable

Dans Visual Basic 6.0, la propriété Moveable d'un formulaire peut avoir la valeur False pour empêcher qu'un utilisateur ne déplace le formulaire au moment de l'exécution. Dans Visual Basic 2008, les Windows Forms ne possèdent pas de propriété équivalente.

Bien qu'une telle conception d'interface ne soit généralement pas considérée acceptable, vous pouvez parvenir à un comportement similaire dans Visual Basic 2008 en affectant à la propriété FormBorderStyle la valeur None et à la propriété ControlBox la valeur False.

Méthode ValidateControls

Dans Visual Basic 6.0, la méthode ValidateControls est utilisée pour forcer l'événement Validate du contrôle qui a le focus lors de la fermeture d'un formulaire ; si l'événement Validate échoue, une erreur est déclenchée.

Dans Visual Basic 2008, la méthode ValidateControls est remplacée par la méthode Validate, qui retourne True ou False.

Événements de souris pour les formulaires MDI

Dans Visual Basic 6.0, les formulaires MDI prennent en charge les événements de souris. Dans Visual Basic 2008, les événements Click, MouseDown, MouseMove et MouseUp ne sont plus pris en charge pour les formulaires MDI, parce que ceux-ci ne disposent pas de zone client pour la réception des événements de souris.

Modifications apportées au code de l'objet Form

Les exemples ci-dessous illustrent les différences entre les techniques de codage dans Visual Basic 6.0 et dans Visual Basic 2008.

Modifications du code de détermination de la raison de la fermeture d'un formulaire

Le code suivant peut vous aider à déterminer la raison de la fermeture d'un formulaire, puis comment agir selon la raison. Dans l'exemple Visual Basic 6.0, l'argument UnloadMode de l'événement QueryUnload est utilisé. Dans l'exemple Visual Basic 2008, l'argument est remplacé par le paramètre CloseReason dans le gestionnaire d'événements FormClosing.

' 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

Modifications du code de validation d'un contrôle à la fermeture d'un formulaire

Le code suivant montre comment forcer la validation du contrôle qui a le focus à la fermeture du formulaire. Cet exemple suppose que la propriété CausesValidation du contrôle TextBox a la valeur par défaut True.

' 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

Équivalences des propriétés, méthodes et événements de l'objet Form

Les tableaux ci-dessous répertorient les propriétés, les méthodes et les événements de Visual Basic 6.0, ainsi que leurs propriétés dans Visual Basic 2008. Ces propriétés, méthodes et événements qui ont les mêmes nom et comportement ne sont pas répertoriés. Lorsque des constantes s'appliquent, elles sont présentées en retrait sous le nom de la propriété ou de la méthode. Sauf indication contraire, toutes les énumérations Visual Basic 2008 sont mappées à l'espace de noms System.Windows.Forms.

Le cas échéant, des liens vous renvoient vers des rubriques expliquant les différences de comportement. Lorsqu'il n'existe pas d'équivalent direct dans Visual Basic 2008, des liens vous renvoient vers des rubriques proposant des alternatives.

Propriétés de l'objet Form

Visual Basic 6.0

Équivalent Visual Basic 2008

Appearance

Nouvelle implémentation. Pour plus d'informations, consultez Propriétés Appearance et BorderStyle pour les utilisateurs de Visual Basic 6.0.

AutoRedraw

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

BackColor

BackColor

Remarque :

Les couleurs sont gérées différemment dans Visual Basic 2008. Pour plus d'informations, consultez Comportement des couleurs pour les utilisateurs de Visual Basic 6.0.

BorderStyle

FormBorderStyle

Caption

Text

ClipControls

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

Controls

Controls

Remarque :

La collection Controls dans Visual Basic 2008 présente des différences. Pour plus d'informations, consultez Collection Controls pour les utilisateurs de Visual Basic 6.0.

Count

Count

Remarque :

La collection Controls dans Visual Basic 2008 présente des différences. Pour plus d'informations, consultez Contrôles Windows Forms pour les utilisateurs de Visual Basic 6.0.

CurrentX

CurrentY

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

DrawMode

DrawStyle

DrawWidth

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

FillColor

FillStyle

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

Font

FontBold

FontItalic

FontName

FontSize

FontStrikethrough

FontUnderline

Font

Remarque :

Les polices sont gérées différemment dans Visual Basic 2008. Pour plus d'informations, consultez Objet Font pour les utilisateurs de Visual Basic 6.0.

ForeColor

ForeColor

Remarque :

Les couleurs sont gérées différemment dans Visual Basic 2008. Pour plus d'informations, consultez Comportement des couleurs pour les utilisateurs de Visual Basic 6.0.

HasDC

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

HDC

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

Height

Height, Size

Remarque :

Les coordonnées sont gérées différemment dans Visual Basic 2008. Pour plus d'informations, consultez Système de coordonnées pour les utilisateurs de Visual Basic 6.0.

HelpContextID

Nouvelle implémentation. Pour plus d'informations, consultez Prise en charge de l'aide pour les utilisateurs de Visual Basic 6.0.

HWnd

Handle

Image

Nouvelle implémentation. Dans Visual Basic 6.0, la propriété Image retournait un handle de bitmap ; dans Visual Basic 2008, les images n'ont pas de handles.

Left

Left

Remarque :

Les coordonnées sont gérées différemment dans Visual Basic 2008. Pour plus d'informations, consultez Système de coordonnées pour les utilisateurs de Visual Basic 6.0.

LinkMode

LinkTopic

Pas d'équivalent. Pour plus d'informations, consultez Échange dynamique de données pour les utilisateurs de Visual Basic 6.0.

MaxButton

MaximizeBox

MDIChild

MdiParent

Remarque :

Le comportement MDI est différent dans Visual Basic 2008. Pour plus d'informations, consultez MDI pour les utilisateurs de Visual Basic 6.0.

MinButton

MinimizeBox

MouseIcon

Nouvelle implémentation. Pour plus d'informations, consultez Impossible de définir un pointeur de souris personnalisé.

MousePointer

Cursor

Pour obtenir la liste des constantes, consultez MousePointer pour les utilisateurs de Visual Basic 6.0.

Moveable

Nouvelle implémentation. Pour plus d'informations, consultez Propriété Moveable pour les utilisateurs de Visual Basic 6.0.

Name

Name

NegotiateMenus

Nouvelle implémentation. Pour plus d'informations, consultez Objet Menu pour les utilisateurs de Visual Basic 6.0.

OLEDropMode

Nouvelle implémentation. Pour plus d'informations, consultez Fonction de glisser-déplacer pour les utilisateurs de Visual Basic 6.0.

Palette

PaletteMode

Nouvelle implémentation. Pour plus d'informations, consultez Palettes pour les utilisateurs de Visual Basic 6.0.

Picture

BackgroundImage

Remarque :

Dans Visual Basic 6.0, le Picture était affiché dans le coin supérieur gauche du formulaire ; dans Visual Basic 2008, BackgroundImage est disposé en mosaïque.

RightToLeft:

True

False

RightToLeft

Valeur d'énumération Yes

ScaleHeight

ScaleLeft

ScaleMode

ScaleTop

ScaleWidth

Nouvelle implémentation. Pour plus d'informations, consultez Système de coordonnées pour les utilisateurs de Visual Basic 6.0.

StartUpPosition:

0 – Manual

1 – CenterOwner

2 – CenterScreen

3 – Windows Default

StartPosition

 Valeur d'énumération Manual

 Valeur d'énumération CenterParent

 Valeur d'énumération CenterScreen

 Valeur d'énumération WindowsDefaultLocation

Top

Top

Remarque :

Les coordonnées sont gérées différemment dans Visual Basic 2008. Pour plus d'informations, consultez Système de coordonnées pour les utilisateurs de Visual Basic 6.0.

WhatsThisButton

HelpButton

Remarque :

Il existe des différences au niveau du comportement de l'aide dans Visual Basic 2008. Pour plus d'informations, consultez Prise en charge de l'aide pour les utilisateurs de Visual Basic 6.0.

WhatsThisHelp

Nouvelle implémentation. Pour plus d'informations, consultez Prise en charge de l'aide pour les utilisateurs de Visual Basic 6.0.

Width

Width, Size

Remarque :

Les coordonnées sont gérées différemment dans Visual Basic 2008. Pour plus d'informations, consultez Système de coordonnées pour les utilisateurs de Visual Basic 6.0.

Méthodes de l'objet Form

Visual Basic 6.0

Équivalent Visual Basic 2008

Circle

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

Cls

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

Line

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

Move

SetBounds

Remarque :

Les coordonnées sont gérées différemment dans Visual Basic 2008. Pour plus d'informations, consultez Système de coordonnées pour les utilisateurs de Visual Basic 6.0.

OLEDrag

Nouvelle implémentation. Pour plus d'informations, consultez Fonction de glisser-déplacer pour les utilisateurs de Visual Basic 6.0.

PaintPicture

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

Point

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

PopupMenu

Nouvelle implémentation. Pour plus d'informations, consultez Objet Menu pour les utilisateurs de Visual Basic 6.0.

PrintForm

Nouvelle implémentation. Pour plus d'informations, consultez Modifications de l'impression pour les utilisateurs de Visual Basic 6.0.

Pset

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

Scale

ScaleX

ScaleY

Nouvelle implémentation. Pour plus d'informations, consultez Système de coordonnées pour les utilisateurs de Visual Basic 6.0.

SetFocus

Activate

Show

Show ou ShowDialog

TextHeight

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

TextWidth

Nouvelle implémentation. Pour plus d'informations, consultez Éléments graphiques pour les utilisateurs de Visual Basic 6.0.

ValidateControls

Validate

Remarque :

La méthode Validate retourne True ou False ; ValidateControls a déclenché une erreur si la validation a échoué.

WhatsThisMode

Nouvelle implémentation. Pour plus d'informations, consultez Prise en charge de l'aide pour les utilisateurs de Visual Basic 6.0.

ZOrder:

 0 – vbBringToFront

 1 - vbSendToBack

Fonction BringToFront ou SendToBack

 BringToFront

 SendToBack

Événements de l'objet Form

Visual Basic 6.0

Équivalent Visual Basic 2008

Activate

Activated

Remarque :

Dans Visual Basic 6.0, l'événement Activate est déclenché uniquement lors du basculement entre les formulaires de l'application ; dans Visual Basic 2008, l'événement Activated est déclenché également lors du basculement à partir d'autres applications.

Click

Click

Remarque :

L'événement Click n'est pas pris en charge dans les formulaires MDI.

DblClick

DoubleClick

Deactivate

Deactivate

Remarque :

Dans Visual Basic 6.0, l'événement Deactivate est déclenché uniquement lors du basculement entre les formulaires de l'application ; dans Visual Basic 2008, il est également déclenché lors du basculement vers d'autres applications.

DragDrop

DragOver

Nouvelle implémentation. Pour plus d'informations, consultez Fonction de glisser-déplacer pour les utilisateurs de Visual Basic 6.0.

GotFocus

Enter

Initialize

Méthode New

Remarque :

Le comportement de la méthode New diffère de celui de l'événement Initialize. Pour plus d'informations, consultez Tâches des formulaires pour les utilisateurs de Visual Basic 6.0.

LinkClose

LinkError

LinkExecute

LinkOpen

Pas d'équivalent. Pour plus d'informations, consultez Échange dynamique de données pour les utilisateurs de Visual Basic 6.0.

MouseDown

MouseDown

Remarque :

L'événement MouseDown n'est pas pris en charge dans les formulaires MDI.

MouseMove

MouseMove

Remarque :

L'événement MouseMove n'est pas pris en charge dans les formulaires MDI.

MouseUp

MouseUp

Remarque :

L'événement MouseUp n'est pas pris en charge dans les formulaires MDI.

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

Nouvelle implémentation. Pour plus d'informations, consultez Fonction de glisser-déplacer pour les utilisateurs de Visual Basic 6.0.

QueryUnload

FormClosing

Remarque :

Dans Visual Basic 6.0, QueryUnload accepte deux arguments, Cancel et UnloadMode. Dans Visual Basic 2008, Cancel est remplacé par Cancel ; UnloadMode est remplacé par CloseReason.

Terminate

Méthode Dispose

Remarque :

Le comportement de la méthode Dispose diffère de celui de l'événement Terminate. Pour plus d'informations, consultez Événements de formulaire pour les utilisateurs de Visual Basic 6.0.

Unload

FormClosing

Remarque :

Le comportement de l'événement FormClosing diffère de celui de l'événement Unload. Pour plus d'informations, consultez Événements de formulaire pour les utilisateurs de Visual Basic 6.0.

Voir aussi

Concepts

Tâches des formulaires pour les utilisateurs de Visual Basic 6.0

Autres ressources

Windows Forms