Visual Basic .Net:Classe Listbox

Un article de WikiTuto.

Jump to: navigation, search
  • VB .Net un langage objet
  1. Définition du langage Objet
  2. La syntaxe objet
  3. La programmation événementielle
  • L'interface de Visual Studio
  1. Structure des applications
  2. Prise en main
  • Premiers contrôles
  1. La classe Form
  2. La classe Button
  3. La classe Label
  4. La classe LinkLabel
  5. La classe Textbox
  6. La classe Richtextbox
  7. La classe Checkbox
  8. Les classes Radiobutton, GroupBox et Panel
  • Les bases du langage
  1. Les variables
  2. Les opérateurs
  3. Les tests
  4. Les boucles
  5. Les fonctions prédéfinies
    1. Fonctions de chaînes
    2. Fonctions et méthodes numériques
    3. Fonctions de conversion
    4. Fonctions d'interface
    5. Les espaces de noms
  • Les collections
  1. La notion de Collection
  2. Désigner les contrôles par leur indice
  3. La boucle For Each ... Next
  4. Tester le type d'un contrôle
  5. Créer ses propres collections par du code
  6. Créer dynamiquement des contrôles
  7. Remarque finale
  • Les contrôles listes
  1. La classe Listbox
  2. La classe Combobox
  3. La classe CheckedListBox
  4. La classe ImageList
  5. La classe Listview
  6. La classe Treeview
  • Les Événements
  1. La notion de Focus
  2. Les événements clavier
  3. Les événements Souris
  4. Glisser - Déposer
  • Autres contrôles
  1. La classe TabControl
  2. Les classes HScrollBar, VScrollBar et TrackBar
  3. La classe ProgressBar
  4. Les classes ToolTip et HelpProvider
  5. Les classes DomainUpDown et NumericUpDown
  6. Les classes DateTimePicker et MonthCalendar
  7. La classe Timer
  8. Les classes de boîtes de dialogue communes
  • Les graphismes
  1. Couleurs et Propriétés
  2. Images et Contrôles
  3. Gérer intelligemment les images
  4. méthodes graphiques
Source : Christophe Darmangeat

Sommaire

Listbox, par définition

Image:VBNet-Listbox.gif
  • contient exclusivement des items de type String
  • graphiquement, se présente toujours sous une forme "développée" (ce n'est pas une liste déroulante).
  • impose un choix parmi les items proposés (ce n'est pas une liste modifiable, où l'on peut entrer une valeur qui n'est pas proposée dans la liste)
  • possède ou non une barre de défilement verticale (voire horizontale), selon le nombre d'éléments présents dans la liste et la place disponible pour les afficher (l'apparition et la disparition des barres de défilement sont gérées de manière automatique par VB, même si on peut toujours bidouiller cela via certaines propriétés).

Propriétés

Pour les Listbox, on va trouver plusieurs propriétés concernant le mode d'affichage, dont entre autres :

  • Sorted : propriété booléenne qui indique si la liste est automatiquement triée ou non.
  • Multicolumn : propriété booléenne qui permet d'afficher les items sur plusieurs colonnes.

Et une propriété fondamentale pour son comportement :

  • SelectionMode : qui indique si l'on autorise ou non la multisélection des items de la liste.

Gestion des items

En ce qui concerne la gestion des items de la ListBox, il faut avoir à l'esprit une chose, de laquelle de déduisent toutes les autres :

Théorème

Un item d'une Listbox est une chaîne de caractères, membre de la collection portant le nom de la Listbox.

Par conséquent, ce que nous avons appris au chapitre précédent sur les collections s'applique de plein droit aux items des Listbox. Comme quoi, on dira ce qu'on voudra, mais au niveau de l'articulation pédagogique, on sent bien que ce cours est drôlement bien goupillé et qu'on a pas affaire à un amateur. Enfin, moi, ce que j'en dis, hein...

Pour balayer les éléments d'une Listbox du premier au dernier, nous pourrons donc utiliser leurs numéros d'indice. Attention toutefois, Listbox n'autorise pas l'omission de la propriété Items, qu'il faudra donc stipuler en toutes lettres. Pour passer l'ensemble des éléments d'une Listbox en majuscules, on pourra donc écrire :

Exemple

Dim i As Integer
For i = 0 To ListBox1.Items.Count - 1
 ListBox1.Items(i) = ListBox1.Items(i).ToUpper
Next i

Numérotation

Dans une Listbox, les items sont numérotés à partir de l'indice zéro

Récupérer le contenu d'une liste

On pourra également, dans d'autres circonstances, utiliser la boucle For Each ... Next, par exemple pour récupérer tout le contenu de la liste dans une seule chaîne MaListe :

Dim element As Object
Dim MaListe As String
MaListe = ""
For Each element In ListBox1.Items
 MaListe = MaListe & element
Next element

Ajout dans une liste

On peut, comme dans n'importe quelle collection, ajouter un élément dans une liste via la méthode Add :

Listbox1.Items.Add("Nouvel élément")

Suppression dans une liste

Pour supprimer un élément, on n'a que l'embarras du choix. La méthode Remove demandera de fournir l'élément lui-même...

Listbox1.Items.Remove("Midnight Jokers")

tandis que la méthode RemoveAt demandera un indice :

Listbox1.Items.RemoveAt(5)

Vidage d'une liste

Enfin, Clear procèdera au nettoyage complet de la liste, en supprimant tous les éléments d'un seul coup d'un seul :

Listbox1.Clear

Sélection

Le but d'une liste, c'est de permettre à l'utilisateur d'en sélectionner un ou plusieurs items. Cette action de l'utilisateur affectera les propriétés :

  • SelectedItem : qui désigne sous forme de chaîne de caractères l'élément actuellement sélectionné. Si aucun élément n'est sélectionné, cette propriété vaut une chaîne vide.
  • SelectedIndex : qui désigne par son indice l'élément actuellement sélectionné. Si aucun élément n'est sélectionné, cette propriété vaut -1.

Lorsqu'une sélection multiple est possible sur une Listbox, ces deux propriétés renvoient alors des collections, dans lesquelles on peut partir à la pêche pour récupérer les différents éléments.

En ce qui concerne les événements, on peut bien sûr gérer les Listbox par l'événement Click. Mais un événement propre est disponible, qui ne se déclenche qu'en cas de changement de l'item sélectionné : il s'agit de SelectedIndexChanged. Cet événement est à la fois plus restrictif et plus large que le Click. Plus restrictif, car il ne se déclenche pas en cas de clic sur un item déjà sélectionné. Plus large, car il détectera un changement de sélection survenant y compris suite à une manoeuvre au clavier.

Exercices

Exercice Exécutable Sources
Inventaire [1][2]

Voir aussi

Source : Christophe Darmangeat

Boîte à outils
Annuaire gratuitCe site est listé dans la catégorie Informatique : Aide et astuces en informatique Annuaire