Partager via


Contrôle ComboBox pour les utilisateurs de Visual Basic 6.0

Mise à jour : novembre 2007

Le contrôle ComboBox de Visual Basic 6.0 est remplacé par le contrôle Windows Forms ComboBox 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

Change, événement

Dans Visual Basic 6.0, l'événement Change du contrôle ComboBox est déclenché lorsque le texte du contrôle est modifié. L'événement Change n'est pas déclenché lorsqu'un élément est sélectionné dans la partie liste du contrôle. La modification par programme du texte d'un élément dans la liste ne déclenche pas l'événement Change.

Dans Visual Basic 2008, l'événement Change n'existe plus ; l'événement TextChanged est déclenché chaque fois que le texte est modifié pour une raison ou pour une autre, telle que :

  • Lorsque la partie de texte est modifiée

  • Lorsqu'un élément est sélectionné dans la liste

  • Lorsqu'un élément de liste est modifié par programme

  • Lorsque la méthode AddItem est appelée

ItemData, propriété

Dans Visual Basic 6.0, la propriété ItemData d'un contrôle ComboBox peut être définie au moment du design dans la fenêtre Propriétés pour associer un Integer à un élément ComboBox.

Dans Visual Basic 2008, la propriété ItemData n'existe plus. La bibliothèque de compatibilité Visual Basic (Microsoft.VisualBasic.Compatibility) contient une fonction SetItemData qui peut être utilisée pour associer Integer à un élément ; la fonction GetItemData peut être utilisée pour récupérer l'élément.

Locked, propriété

Dans Visual Basic 6.0, la propriété Locked d'un contrôle ComboBox détermine si la zone de texte du contrôle peut être modifiée.

Dans Visual Basic 2008, la propriété Locked empêche un contrôle d'être déplacé au moment du design. Il n'y a aucun équivalent direct pour la propriété Locked dans Visual Basic 6.0 ; toutefois, vous pouvez obtenir le même effet en affectant DropDownList à la propriété DropDownStyle du contrôle ComboBox.

Remarque   Dans Visual Basic 6.0, l'affectation de la valeur True à la propriété Locked empêche également que la sélection ne soit modifiée. Vous pouvez dupliquer ce comportement en annulant la sélection opérée dans l'événement MouseDown.

NewIndex, propriété

Dans Visual Basic 6.0, la propriété NewIndex était utilisée pour récupérer l'index du dernier élément ajouté à un contrôle ComboBox.

Dans Visual Basic 2008, la propriété NewIndex n'existe plus. Vous pouvez utiliser la valeur de retour de la méthode Item.Add pour récupérer l'index d'un élément tel qu'il est ajouté.

TopIndex, propriété

Dans Visual Basic 6.0, la propriété TopIndex est utilisée pour retourner ou définir une valeur désignant l'élément d'un contrôle ComboBox ou ListBox qui est affiché en première position de la liste. Cette propriété est couramment utilisée pour faire défiler une liste sans y sélectionner d'élément.

Dans Visual Basic 2008, la propriété ComboBox ne prend plus en charge la propriété TopIndex. Dans la plupart des cas, cela ne devrait poser aucun problème, dans la mesure où la définition de la propriété TopIndex n'a d'effet visible que si la propriété Style a la valeur 1 - SimpleCombo. Dans le cas présent, vous pouvez émuler ce comportement à l'aide d'un contrôle ListBox et d'un contrôle TextBox ; le contrôle ListBox prend toujours en charge la propriété TopIndex.

Scroll, événement

L'événement Scroll dans Visual Basic 6.0 est utilisé conjointement avec la propriété TopIndex pour exécuter des actions lors du défilement de la liste. Visual Basic 2008 ne prend pas en charge l'événement Scroll ; toutefois, dans la plupart des cas, l'événement SelectedIndexChanged est une solution appropriée.

Autres différences

De plus, de nombreuses différences conceptuelles s'appliquent à tous les contrôles, y compris des différences relatives à la liaison de données, la gestion des polices, les opérations de glisser-déplacer, la prise en charge de l'aide, etc. Pour plus d'informations, consultez Concepts Windows Forms pour les utilisateurs de Visual Basic 6.0.

Modifications du code pour le contrôle ComboBox

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 pour mettre un contrôle ComboBox en lecture seule

Le code suivant illustre comment empêcher un utilisateur d'ajouter de nouveaux éléments à un contrôle ComboBox.

' Visual Basic 6.0
Combo1.Locked = True
' Visual Basic
ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList

Modifications du code pour sélectionner l'élément ajouté en dernier dans un contrôle ComboBox

Le code suivant illustre comment définir la sélection à un élément qui a été ajouté par programme à un contrôle ComboBox.

' Visual Basic 6.0
Combo1.AddItem "This is a new item"
Combo1.ListIndex = Combo1.NewIndex
' Visual Basic
Dim i As Integer
i = ComboBox1.Items.Add("This is a new item")
ComboBox1.SelectedIndex = i

Modifications du sous code privé pour associer ItemData

Le code suivant illustre comment associer un numéro d'employé à chaque employé répertorié dans un contrôle ComboBox, puis comment récupérer ce numéro au moment de l'exécution.

' Visual Basic 6.0
Private Sub Form_Load
    Combo1.AddItem "Nancy Davolio"
    Combo1.ItemData(Combo1.NewIndex) = 12345
    Combo1.AddItem "Judy Phelps"
    Combo1.ItemData(Combo1.NewIndex) = 67890
End Sub
Private Sub Combo1_Click()
    Label1.Caption = "Empoyee #" & _
    CStr(Combo1.ItemData(Combo1.ListIndex))
End Sub
' Visual Basic
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load

   ComboBox1.Items.Add("Nancy Davolio")
   Microsoft.VisualBasic.Compatibility.VB6. _
      SetItemData(ComboBox1, ComboBox1.Items.Count() - 1, 12345)

   ComboBox1.Items.Add("Judy Phelps")
   Microsoft.VisualBasic.Compatibility.VB6. _
      SetItemData(ComboBox1, ComboBox1.Items.Count() - 1, 67890)
End Sub
' Visual Basic
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

   Label1.Text = "Employee #" & CStr( _
   Microsoft.VisualBasic.Compatibility.VB6. _
      GetItemData(ComboBox1, ComboBox1.SelectedIndex))
End Sub

Équivalences des propriétés, méthodes et événements du contrôle ComboBox

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 équivalents 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.

Ce tableau fournit des liens vers les rubriques qui expliquent des 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

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.

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.

Container

Parent

DataChanged

DataField

DataFormat

DataMember

DataSource

Nouvelle implémentation. Pour plus d'informations, consultez Contrôle de données pour les utilisateurs de Visual Basic 6.0.

DragIcon

DragMode

Nouvelle implémentation. Pour plus d'informations, consultez Fonction de glisser-déplacer 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 Gestion des polices 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.

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

Index

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

ItemData

Nouvelle implémentation. Pour plus d'informations, consultez Impossible de mettre à niveau la propriété ItemData.

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.

List

Items

ListCount

Count

ListIndex

SelectedIndex

Locked

DropDownStyle = DropDownList

Remarque :

Dans Visual Basic 6.0, l'affectation de la valeur True à la propriété Locked empêche également que la sélection ne soit modifiée. Dans Visual Basic 2008, vous pouvez reproduire ce comportement en annulant la sélection opérée dans l'événement MouseDown.

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.

NewIndex

Nouvelle implémentation. Pour plus d'informations, consultez Impossible de mettre à niveau la propriété NewIndex.

OLEDragMode

Nouvelle implémentation. Pour plus d'informations, consultez Fonction de glisser-déplacer 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.

Parent

Méthode FindForm

RightToLeft

RightToLeft

SelLength

SelectionLength

SelStart

SelectionStart

SelText

SelectedText

Style

DropDownStyle

ToolTipText

Composant ToolTip

Pour plus d'informations, consultez Prise en charge des info-bulles pour les utilisateurs de Visual Basic 6.0.

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.

TopIndex

Nouvelle implémentation. Pour plus d'informations, consultez Propriété TopIndex et événement Scroll pour les utilisateurs de Visual Basic 6.0.

WhatsThisHelpID

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

Visual Basic 6.0

Équivalent Visual Basic 2008

AddItem

Add

AddRange

Insert

Clear

Clear

Drag

Nouvelle implémentation. Pour plus d'informations, consultez Fonction de glisser-déplacer 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

Fonction de glisser-déplacer pour les utilisateurs de Visual Basic 6.0.

RemoveItem

Items.Remove

SetFocus

Focus

ShowWhatsThis

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

ZOrder

BringToFront Fonctions SendToBack

Événements

Visual Basic 6.0

Équivalent Visual Basic 2008

Change

TextChanged

Remarque :

Le comportement de l'événement TextChanged est légèrement différent. Pour plus d'informations, consultez Événement Change du contrôle ComboBox pour les utilisateurs de Visual Basic 6.0.

Click

SelectedIndexChanged

DblClick

Nouvelle implémentation. Utilisez l'événement SelectedIndexChanged ou TextChanged.

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

LostFocus

Leave

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.

Scroll

Nouvelle implémentation. Pour plus d'informations, consultez Propriété TopIndex et événement Scroll pour les utilisateurs de Visual Basic 6.0.

Validate

Validating

Mettre à niveau des remarques

Lorsqu'un projet Visual Basic 6.0 est mis à niveau vers Visual Basic 2008, l'événement Change du contrôle ComboBox est mappé à l'événement TextChanged du contrôle Visual Basic 2008ComboBox. Le comportement de l'événement TextChanged diffère de celui de l'événement Change ; cette différence peut produire des résultats imprévus dans votre code.

Tout code qui fait référence aux propriétés ItemData, Locked, NewIndex ou TopIndex ou tout code dans la procédure événementielle Scroll n'est pas mis à niveau ; des commentaires d'avertissement sont ajoutés au code et ce dernier doit être supprimé ou modifié avant la compilation de l'application.

Voir aussi

Concepts

Comportement des couleurs pour les utilisateurs de Visual Basic 6.0

Objet Font pour les utilisateurs de Visual Basic 6.0

MousePointer pour les utilisateurs de Visual Basic 6.0

Prise en charge des info-bulles pour les utilisateurs de Visual Basic 6.0

Référence

Vue d'ensemble du contrôle ComboBox (Windows Forms)