Contrôle ListBox pour les utilisateurs de Visual Basic 6.0
Mise à jour : novembre 2007
Le contrôle ListBox dans Visual Basic 6.0 est remplacé par le contrôle ListBox ou CheckedListBox dans Visual Basic 2008. Les noms de certaines propriétés, méthodes, événements et constantes ont changé. En outre, dans certains cas, leur comportement est également différent.
Différences conceptuelles
ListBox activé
Dans Visual Basic 6.0, la propriété Style d'un contrôle ListBox détermine si une case à cocher est affichée à côté de chaque élément de texte. Plusieurs éléments de ListBox peuvent être sélectionnés en activant la case à cocher située en regard de ces éléments même si la propriété MultiSelect a la valeur False. Il n'existe aucun moyen de déterminer par programme l'état activé d'un élément. Si vous avez requis cette fonction, vous devez utiliser à la place un contrôle ListView.
Dans Visual Basic 2008, le nouveau contrôle CheckedListBox affiche des cases à cocher à côté de chaque élément ; vous ne pouvez plus afficher des cases à cocher dans le contrôle ListBox. Le contrôle CheckedListBox vous permet de déterminer par programme l'état activé de chaque élément à travers une collection CheckedListBox.CheckedItemCollection.
Propriété Columns
Dans Visual Basic 6.0, la propriété Columns acceptait un entier spécifiant le nombre de colonnes à afficher.
Dans Visual Basic 2008, la propriété MultiColumn accepte une valeur booléenne et la propriété ColumnWidth un entier spécifiant la largeur en pixels. Si la largeur du contrôle ListBox est modifiée au moment de l'exécution, vous devrez peut-être également définir la propriété ColumnWidth pour chaque colonne.
Événement ItemCheck
Dans le contrôle ListBox de Visual Basic 6.0, lorsqu'un événement ItemCheck était déclenché, l'état activé était déjà changé.
Dans le contrôle Visual Basic 2008CheckedListBox, lorsque l'événement ItemCheck est déclenché, l'état d'activation n'a pas encore changé. Vous pouvez obtenir la valeur en attente à partir de l'argument ItemCheckEventArgs passé à l'événement.
Modifications apportées au code du contrôle ListBox
Les exemples ci-dessous illustrent les différences entre les techniques de codage dans Visual Basic 6.0 et dans Visual Basic 2008.
Modifications apportées au code de l'ajout et de la suppression d'éléments dans le contrôle ListBox
Le code suivant illustre comment ajouter et supprimer des éléments ListBox.
' Visual Basic 6.0
' Add an item at the end of the list.
List1.AddItem "Tokyo"
' Insert an item at the top of the list.
List1.AddItem "Copenhagen", 0
' Remove the first item.
List1.RemoveItem 0
'Visual Basic
' Add an item at the end of the list.
ListBox1.Items.Add("Tokyo")
' Insert an item at the top of the list.
ListBox1.Items.Insert(0, "Copenhagen")
' Remove the first item.
ListBox1.Items.RemoveAt(0)
Modifications apportées au code de l'accès aux éléments spécifiques d'un contrôle ListBox
Le code suivant illustre comment retourner la valeur d'un élément ListBox.
' Visual Basic 6.0
Private Function GetItemText(i As Integer) As String
' Return the text of the item using the index:
GetItemText = ListBox1.List(i)
End Function
' Visual Basic
Private Function GetItemText(ByVal i As Integer) As String
' Return the text of the item using the index:
GetItemText = CStr(ListBox1.Items(i))
End Function
Modifications apportées au code de détermination des éléments activés dans un contrôle CheckedListBox
Le code suivant illustre comment déterminer l'état activé d'éléments dans un contrôle CheckedListBox.
' Visual Basic 6.0
' The Visual Basic 6.0 ListBox control didn't support this scenario,
' a ListView control had to be used instead.
Dim s As String
Dim i As Integer
' Loop through all items
For i = 1 To ListView1.ListItems.Count
' If an item is checked, add it to the string
If ListView1.ListItems(i).Checked = True Then
s = s & "Checked Item" & CStr(i) & " = " & _
ListView1.ListItems(i) & vbCrLf
End If
Next
' Determine if any items are checked.
If s <> "" Then
MsgBox s
End If
' Visual Basic
' Determine if there are any items checked.
If CheckedListBox1.CheckedItems.Count <> 0 Then
' If so, loop through all checked items and print results.
Dim x As Integer
Dim s As String = ""
For x = 0 To CheckedListBox1.CheckedItems.Count - 1
s = s & "Checked Item " & CStr(x + 1) & " = " & _
CStr(CheckedListBox1.CheckedItems(x)) & ControlChars.CrLf
Next x
MessageBox.Show(s)
End If
Équivalences des propriétés, méthodes et événements du contrôle ListBox
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 |
|
||
Columns |
|||
Container |
|||
DataChanged DataField DataFormat DataMember DataSource |
Nouvelle implémentation. Pour plus d'informations, consultez Accès aux 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. |
||
FontFont FontBold FontItalic FontName FontSize FontStrikethrough FontUnderline |
|
||
ForeColor |
|
||
Height |
|
||
HelpContextID |
Nouvelle implémentation. Pour plus d'informations, consultez Prise en charge de l'aide pour les utilisateurs de Visual Basic 6.0. |
||
HWnd |
|||
Index |
Nouvelle implémentation. Pour plus d'informations, consultez Tableaux de contrôles pour les utilisateurs de Visual Basic 6.0. |
||
IntegralHeight |
|||
ItemData |
Nouvelle implémentation. Pour plus d'informations, consultez Impossible de mettre à niveau la propriété ItemData. |
||
Left |
|
||
List |
|||
ListCount |
Count (List.Count) |
||
ListIndex |
|||
MouseIcon |
Nouvelle implémentation. Pour plus d'informations, consultez Impossible de définir un pointeur de souris personnalisé. |
||
MousePointer |
Pour obtenir la liste des constantes, consultez MousePointer pour les utilisateurs de Visual Basic 6.0. |
||
MultiSelect |
|||
NewIndex |
Nouvelle implémentation. Pour plus d'informations, consultez Impossible de mettre à niveau la propriété NewIndex. |
||
OLEDragMode 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 |
||
SelCount |
Count (SelectedItem.Count) |
||
Selected |
GetSelected, SetSelected (contrôle ListBox) GetItemChecked, SetItemChecked (contrôle CheckedListBox) |
||
Style |
Propriété de nouvelle implémentation. 0 – Standard est mappée vers le contrôle CheckedListBox, 1 – Checkbox est mappée vers le contrôle CheckedListBox. |
||
ToolTipText |
Composant ToolTip Pour plus d'informations, consultez Prise en charge des info-bulles pour les utilisateurs de Visual Basic 6.0. |
||
Top |
|
||
WhatsThisHelpID |
Nouvelle implémentation. Pour plus d'informations, consultez Prise en charge de l'aide pour les utilisateurs de Visual Basic 6.0. |
||
Width |
|
Méthodes
Nom |
Équivalent Visual Basic 2008 |
||
---|---|---|---|
AddItem |
|||
Clear |
|||
Drag |
Nouvelle implémentation. Pour plus d'informations, consultez Fonction de glisser-déplacer pour les utilisateurs de Visual Basic 6.0. |
||
Move |
|
||
OLEDrag |
Nouvelle implémentation. Pour plus d'informations, consultez Fonction de glisser-déplacer pour les utilisateurs de Visual Basic 6.0. |
||
RemoveItem |
|||
SetFocus |
|||
ShowWhatsThis |
Nouvelle implémentation. Pour plus d'informations, consultez Prise en charge de l'aide pour les utilisateurs de Visual Basic 6.0. |
||
ZOrder |
Méthode BringToFront ou SendToBack |
Événements
Visual Basic 6.0 |
Équivalent Visual Basic 2008 |
---|---|
DblClick |
|
DragDrop DragOver |
Nouvelle implémentation. Pour plus d'informations, consultez Fonction de glisser-déplacer pour les utilisateurs de Visual Basic 6.0. |
GotFocus |
|
ItemCheck |
ItemCheck (CheckedListBox uniquement) |
LostFocus |
|
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 |
Mettre à niveau des remarques
Lors de la mise à niveau, si la propriété Style d'un contrôle Listbox de Visual Basic 6.0 prend la valeur 1 – Checkbox, elle est mise à niveau vers le contrôle CheckedListBox ; sinon, elle est mise à niveau vers le contrôle ListBox.
Voir aussi
Référence
Vue d'ensemble du contrôle ListBox (Windows Forms)