Soyez le premier à donner votre avis sur cette source.
Snippet vu 2 322 fois - Téléchargée 9 fois
Dim itemdata() As String ''tableau itemdata pour listbox/combobox ''on ajoute une entrée a une listbox/combobox Private Sub listbox_additem(ByVal sender As Object, ByVal index As Integer, ByVal value As String) Dim n As Integer If itemdata Is Nothing Then n = 0 Else n = itemdata.GetUpperBound(0) + 1 End If ReDim Preserve itemdata(n) ''on redimmensione le tableau ItemData itemdata(index) = value ''on affecte la valeur End Sub ''on supprime une entrée a une listbox/combobox Private Sub listbox_removeitem(ByVal sender As Object, ByVal index As Integer) Dim n As Integer, i As Integer Dim tp() As String ReDim tp(itemdata.GetUpperBound(0)) 'on crée un tableau temporaire d'itemdata n = sender.items.count - 1 n = -1 For i = 0 To itemdata.GetUpperBound(0) tp(i) = itemdata(i) If i <> index Then n = n + 1 itemdata(n) = tp(i) End If Next ReDim Preserve itemdata(n) 'on supprime le tableau temporaire Erase tp End Sub
Commentaire
- On évite les ReDim de tableau en .NET, si on a besoin d'une liste, on utilise une liste System.Collection.Generic.List(of T)
- Méthode plus esthétique pour avoir des données avec un item consiste à créer une classe et de réécrire le ToString :
Ensuite, une instance à chaque item et quand tu veux récupérer la valeur, un cast (avec CType ou DirectCast) pour récupérer les données.
La ListBox accepte des Objects en items.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.