Combo VB.NetBox Contrôle avec EXEMPLE

⚡ Résumé intelligent

Plusieurs tours en unBox en VB.Net est un Windows Contrôle de formulaire combinant une zone de texte et une liste déroulante, permettant à l'utilisateur de sélectionner un seul élément ou d'en saisir un, ce qui permet de gagner de la place sur le formulaire.

  • (I.e. Objectif : Afficher une liste déroulante permettant à l'utilisateur de sélectionner ou de saisir une valeur.
  • Ajouter des éléments : Remplissez la liste déroulante dans la fenêtre Propriétés ou avec Items.Add lors de l'exécution.
  • 🔍 Lire la sélection : Les fonctions SelectedItem, SelectedIndex et Text renvoient la valeur sélectionnée par l'utilisateur.
  • 🇧🇷 Lier les données : Définissez DataSource, DisplayMember et ValueMember pour charger les lignes à partir d'un ensemble de données.
  • (I.e. Détecter les changements : L'événement SelectedIndexChanged se déclenche à chaque fois que l'élément sélectionné change.
  • 🤖 Aide de l'IA : GitHub Copilot et Visual Studio IntelliCode écrire ComboBox gestionnaires au fur et à mesure que vous tapez.

Combo VB.NetBox Contrôle

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 depuis la boîte à outils vers le formulaire.

Contrôle combobox VB.Net glissé depuis la boîte à outils sur un Windows Forme

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 de zone de liste déroulante.

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

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

Ajouter des éléments à une combobox VB.Net par programmation avec la méthode Items.Add

La fenêtre Propriétés VB.Net ouvre l'éditeur de collection d'éléments de la zone de liste déroulante.

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

Éditeur de collection de chaînes listant les éléments de la liste déroulante Homme et Femme

Étape 5) Une fois terminé avec typing Sélectionnez les éléments, puis 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 de menu déroulant dans la liste déroulante.

ComboBox VB.Net affichant « Homme » comme option par défaut lors de l'exécution

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 :

Formulaire VB.Net affichant une liste déroulante avec les options Homme et Femme

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

Vous pouvez récupérer l'élément sélectionné dans votre liste déroulante. Pour cela, utilisez la propriété `text`. Prenons l'exemple de notre liste déroulante ci-dessus, qui contient deux éléments : « Homme » et « Femme ». Suivez les étapes ci-dessous :

Étape 1) Double Cliquez sur la liste déroulante pour ouvrir l'onglet contenant le code VB.Net.

É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 :

Code Capture d'écran du gestionnaire d'événements SelectedIndexChanged d'une combobox VB.Net

Étape 4) Cliquez sur le bouton déroulant et choisissez votre sexe. Dans mon cas, j'ai choisi Homme, et j'obtiens le résultat suivant :

Boîte de message VB.Net affichant le texte de l'élément sélectionné dans la liste déroulante : Homme

Voici une capture d'écran du code :

Explication de 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 ComboBoxL'événement 1_SelectedIndexChanged est généré automatiquement lorsque vous double-cliquez sur le contrôle ComboBox depuis l'onglet Création. Cette sous-procédure est appelée lorsque vous sélectionnez un élément dans la ComboBox. `sd As Object` fait référence à l'objet qui a déclenché l'événement, tandis que `evnt As EventArgs` contient les données de l'événement.
  3. Création d'une variable de type chaîne de caractères 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. Afficher la valeur de la variable var_gender dans 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

Vous souhaiterez souvent que votre programme réagisse dès que l'utilisateur sélectionne une nouvelle valeur.

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 un nouveau Windows Demande de formulaires.

Étape 2) Ensuite, vous devez glisser-déposer deux contrôles combobox dans le formulaire.

Deux contrôles combobox placés côte à côte sur une application VB.Net Windows Forme

É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 :

Première liste déroulante remplie avec Hommes et Femmes lors du chargement du formulaire.

É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. Consultez les options disponibles :

Deuxième liste déroulante affichant Nicholas et John après la sélection de Hommes

Étape 6) Accédez à la première liste déroulante et choisissez femmePassez à la deuxième liste déroulante et consultez les éléments disponibles :

Deuxième liste déroulante affichant Alice et Grace après la sélection de Femmes

Voici une capture d'écran du code :

Code Capture d'écran du gestionnaire SelectedIndexChanged d'une liste déroulante à deux éléments en VB.Net

Explication de Code:

  1. Création d'une classe nommée Form1.
  2. Début d'une sous-procédure nommée Form1_Load(). Celle-ci sera déclenchée une fois le formulaire chargé. sd As Object fait référence à l'objet qui a déclenché l'événement, tandis que evnt As EventArgs contient 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.

FAQ

Un comboBox Permet de gagner de l'espace en masquant la liste jusqu'à ce que l'on clique sur la flèche et peut accepter la saisie au clavier. Une listeBox Affiche tous les articles simultanément et permet uniquement la sélection.

DropDownStyle choisit le comportement : DropDown (par défaut) permet à l’utilisateur de saisir du texte libre ; DropDownList limite la saisie aux éléments de la liste ; Simple garde la liste ouverte en permanence.

SelectedIndex renvoie la position à partir de zéro, SelectedItem renvoie l'objet lié à cette ligne et Text renvoie la chaîne de caractères dans la zone de texte, y compris le texte saisi par l'utilisateur.

Combinaison d'appelBox1. Utilisez Items.Clear() pour vider la liste. Pour réinitialiser également le texte affiché dans la zone de texte, utilisez ensuite Combo.Box1. SelectedIndex = -1 ou définir ComboBox1.Texte = Chaîne.Vide.

Définissez la propriété DropDownStyle sur DropDownList dans la fenêtre Propriétés ou dans le code (ComboBox1. DropDownStyle = ComboBoxStyle.DropDownList). L'utilisateur ne peut alors sélectionner que les éléments déjà présents dans la liste.

L'événement TextChanged est déclenché lorsque l'utilisateur modifie la zone de texte. L'événement SelectedIndexChanged est déclenché uniquement lorsque l'élément sélectionné dans la liste déroulante change, que ce soit par la souris, le clavier ou par programmation.

Oui. Copilote GitHub Convertit un commentaire en langage naturel en un bloc SelectedIndexChanged ou DataBindings complet. Vérifiez toujours le code généré avant de le déployer.ping.

Oui. Visual Studio 2026 associe Copilot à IntelligenceCode pour des complétions complètes et contextuelles de ComboBox propriétés et événements.

Résumez cet article avec :