Combo VB.NetBox Contrôle avec EXEMPLE

Qu’est-ce que le contrôle Combobox ?

Le contrôle combobox vous aide à afficher une liste déroulante avec de nombreux éléments. Considérez-le comme une combinaison d'une zone de texte dans laquelle un utilisateur saisit du texte et d'une liste déroulante dans laquelle un utilisateur sélectionne un élément. Notez que la liste déroulante affiche un élément à la fois.

Création d'une liste déroulante

Un comboBox peut être créé comme suit :

Étape 1) Créer une nouvelle application.

Étape 2) Faites glisser un contrôle combobox de la boîte à outils vers le formulaire.

Création d'une liste déroulante

Vous aurez créé un contrôle combobox.

Ajout d'éléments à la liste déroulante

Maintenant que nous avons créé une combobox, montrons comment y ajouter des éléments.

Double Cliquez sur le contrôle combobox que vous avez ajouté. Vous serez déplacé de l'onglet de conception vers l'onglet avec code.

Pour ajouter un élément à un contrôle combobox, nous utilisons la propriété Items. Démontrons-le en ajoutant deux éléments à la liste déroulante, Mâle et Femelle :

ComboBox1.Items.Add("Male")
ComboBox1.Items.Add("Female")

Nous pouvons également choisir d'ajouter des éléments à la liste déroulante au moment de la conception à partir de la fenêtre Propriétés. Voici les étapes :

Étape 1) Ouvrez l'onglet Conception et cliquez sur le contrôle combobox.

Étape 2) Accédez à la fenêtre Propriétés et affichez l’option Éléments.

Étape 3) Cliquez sur le … situé à droite de (Collection).

Ajout d'éléments à la liste déroulante

Étape 4)Vous verrez une nouvelle fenêtre. C'est ici que vous devez ajouter des éléments à la liste déroulante, comme indiqué ci-dessous :

Ajout d'éléments à la liste déroulante

Étape 5) Une fois la saisie des éléments terminée, cliquez sur le bouton OK.

Étape 6) Cliquez sur le bouton Démarrer dans la barre d'outils supérieure et cliquez sur l'icône déroulante de la liste déroulante.

Ajout d'éléments à la liste déroulante

Les éléments ont été ajoutés avec succès au contrôle combobox.

Sélection d'éléments de liste déroulante

Vous devrez peut-être définir l'élément par défaut qui sera sélectionné lors du chargement du formulaire. Vous pouvez y parvenir via la méthode SelectedItem(). Par exemple, pour définir le sexe sélectionné par défaut sur Homme, vous pouvez utiliser l'instruction suivante :

ComboBox1.SelectedItem = "Male"

Lorsque vous exécutez le code, le contrôle combobox doit être comme indiqué ci-dessous :

Sélection d'éléments de liste déroulante

Récupération des valeurs de liste déroulante

Vous pouvez obtenir l'élément sélectionné dans votre liste déroulante. Cela peut être fait en utilisant la propriété text. Démontrons cela en utilisant notre liste déroulante ci-dessus avec deux éléments, à savoir Homme et Femme. Suivez les étapes indiquées ci-dessous :

Étape 1) Double cliquez sur la zone de liste déroulante pour ouvrir l'onglet avec VB.NET code.

Étape 2) Ajoutez le code suivant :

Public Class Form1
    Private Sub ComboBox1_SelectedIndexChanged(sd As Object, evnt As EventArgs) Handles ComboBox1.SelectedIndexChanged

        Dim var_gender As String

        var_gender = ComboBox1.Text

        MessageBox.Show(var_gender)
		
    End Sub
End Class

Étape 3) Cliquez sur le bouton Démarrer de la barre d'outils pour exécuter le code. Vous devriez obtenir le formulaire suivant :

Récupération des valeurs de liste déroulante

Étape 4) Cliquez sur le bouton déroulant et choisissez votre sexe. Dans mon cas. Je choisis Male et j'obtiens ce qui suit :

Récupération des valeurs de liste déroulante

Voici une capture d'écran du code :

Récupération des valeurs de liste déroulante

Explication du code :

  1. Création d'une classe nommée Form1. La classe sera accessible publiquement puisque son modificateur d'accès a été défini sur Public.
  2. Démarrage d'une sous-procédure nommée ComboBox1_SelectedIndexChanged. Cette sous-procédure est générée automatiquement lorsque vous double-cliquez sur le contrôle combobox à partir de l'onglet de conception. Cette sous-procédure sera invoquée lorsque vous sélectionnez un élément dans la combobox. L'objet sd As fait référence à l'objet qui a déclenché l'événement tandis que l'événement As EventArgs contient les données d'événement s.
  3. Création d'une chaîne entière nommée var_gender.
  4. Définition de la valeur de la variable var_gender sur l'élément sélectionné dans la liste déroulante.
  5. Impression de la valeur de la variable var_gender sur un messageBox.
  6. Fin du comboBoxSous-procédure 1_SelectedIndexChanged.
  7. Fin de la classe Form1.

Suppression d'éléments de liste déroulante

Il vous est possible de supprimer un élément de votre combobox. Vous pouvez y parvenir de deux manières. Vous pouvez utiliser soit l'index de l'élément, soit le nom de l'élément.

Lorsque vous utilisez l'index d'élément, vous devez utiliser la propriété Items.RemoveAt() comme indiqué ci-dessous :

ComboBox1.Items.RemoveAt(1)

Dans l'exemple ci-dessus, nous supprimons l'élément situé à l'index 1 de la combobox. Notez que les index de la combobox commencent à l'index 0, ce qui signifie que la commande ci-dessus supprimera le deuxième élément de la combobox.

Pour supprimer l'élément en utilisant son nom, vous devez utiliser la propriété Items.Remove() comme indiqué ci-dessous :

ComboBox1.Items.Remove("Female")

Le code ci-dessus devrait supprimer l'élément nommé Femelle du ComboBox1.

Liaison de la source de données

Un comboBox peut être rempli à partir d’un ensemble de données. Considérez la requête SQL ci-dessous :

select emp_id, emp_name from employees; 

Vous pouvez créer une source de données dans un programme puis utiliser le code suivant pour la lier :

comboBox1.DataSource = ds.Tables(0)
comboBox1.ValueMember = "emp_id"
comboBox1.DisplayMember = "emp_name"

Cela vous fournira un moyen simple de remplir votre contrôle combobox avec des données sans avoir à saisir chaque élément individuel.

Événement SelectedIndexChanged

Ce type d'événement est invoqué lorsque vous modifiez l'élément sélectionné dans votre liste déroulante. C'est l'événement que vous devez utiliser lorsque vous devez implémenter une action lors d'un changement sur l'élément sélectionné d'une liste déroulante. Démontrons cela à l'aide d'un exemple :

Étape 1) Créez une nouvelle application Windows Forms.

Étape 2) Après cela, vous devez Faites glisser et déposez deux contrôles combobox dans le formulaire.

Événement SelectedIndexChanged

Étape 3) Double Cliquez à l'intérieur du formulaire pour ouvrir l'onglet du code. Entrez le code suivant :

Public Class Form1
    Private Sub Form1_Load(sd As Object, evnt As EventArgs) Handles MyBase.Load

        ComboBox1.Items.Add("Males")

        ComboBox1.Items.Add("Females")

    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged

        ComboBox2.Items.Clear()

        If ComboBox1.SelectedItem = "Males" Then

            ComboBox2.Items.Add("Nicholas")

            ComboBox2.Items.Add("John")

        ElseIf ComboBox1.SelectedItem = "Females" Then

            ComboBox2.Items.Add("Alice")

            ComboBox2.Items.Add("Grace")

        End If
    End Sub
End Class

Étape 4) Cliquez sur le bouton Démarrer dans la barre supérieure pour exécuter le code. Vous devriez obtenir le résultat suivant :

Événement SelectedIndexChanged

Étape 5) Cliquez sur le bouton déroulant de la première liste déroulante et choisissez Homme. Déplacez le curseur de la souris sur la deuxième liste déroulante et cliquez sur son bouton déroulant. Voir les articles disponibles :

Événement SelectedIndexChanged

Étape 6) Accédez à la première liste déroulante et choisissez Femme. Passez à la deuxième zone de liste déroulante et voyez les éléments disponibles :

Événement SelectedIndexChanged

Voici une capture d'écran du code :

Événement SelectedIndexChanged

Explication du code :

  1. Création d'une classe nommée Form1.
  2. Début d'une sous-procédure nommée Form1_Load(). Cela sera déclenché une fois le formulaire chargé. Le sd As Object fait référence à l'objet qui a déclenché l'événement tandis que le système As EventArgs possède les données de l'événement.
  3. Ajout de l'élément Mâles au ComboBox1.
  4. Ajout de l'élément Femelles au ComboBox1.
  5. Fin de la sous-procédure Form1_Load().
  6. Début d'une sous-procédure nommée ComboBox1_SelectedIndexChanged(). Cette fonction sera invoquée lorsqu'un élément sera sélectionné dans la première zone de liste déroulante. L'expéditeur As Object fait référence à l'objet qui a déclenché l'événement tandis que l'expéditeur As EventArgs contient les données de l'événement.
  7. Faire un comboBox2 vide, effacez tous les éléments.
  8. Créer une condition. Vérifier si l'élément sélectionné sur ComboBox1 est les hommes.
  9. Ajouter l'élément Nicolas au ComboBox2 lorsque la condition ci-dessus est vraie, c'est-à-dire l'élément sélectionné sur ComboBox1 est un homme.
  10. Ajouter l'élément John au ComboBox2 lorsque la condition ci-dessus est vraie, c'est-à-dire l'élément sélectionné sur ComboBox1 est les hommes.
  11. Créer une condition. Vérifier si l'élément sélectionné sur ComboBox1 est les femmes.
  12. Ajoutez l'élément Alice au ComboBox2 lorsque la condition ci-dessus est vraie, c'est-à-dire l'élément sélectionné sur ComboBox1 est les femmes.
  13. Ajoutez l'élément Grace au ComboBox2 lorsque la condition ci-dessus est vraie, c'est-à-dire l'élément sélectionné sur ComboBox1 est les femmes.
  14. Fin du bloc If.
  15. Fin du comboBoxSous-procédure 1_SelectedIndexChanged().
  16. Fin du cours Form1.

Résumé

  • Un comboBox est créé en le faisant glisser depuis la boîte à outils et en le déposant dans le formulaire.
  • Cela nous permet de présenter de nombreuses options à l'utilisateur.
  • Nous pouvons définir l'élément par défaut à sélectionner sur le ComboBox lorsque le formulaire est chargé.
  • L'événement SelectedIndexChanged nous aide à spécifier l'action à entreprendre lorsqu'un élément particulier est sélectionné dans la liste déroulante.