[VB] ajout d'élément dans une combobox

bonjour,

(je suis en visual basic),

lorsque je clique sur un bouton , j'ajoute 2 éléments dans ma combobox :

macombo.AddItem (montext1)
macombo.AddItem (montext2)

mais lorsque je reclic sur ce bouton , il m'ajoute en double les éléments ex :

montext1
montext2
montext1
montext2

au lieu de :

montext1
montext2

quelque soit le nombre de fois où je clique sur le bouton.Je crois qu'il y a quelque chose avec la propriété index mais...

Merci d'avance

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. hello...

    il suffit de faire :
    ComboBox1.Clear, avant chaque rechargement afin d'effacer le contenu précédent de la liste...

    Good luck !
    1. j presque aussi le méme probléme mais quand je tape combobox.clear il me donne "'clear' n po un membre de System.windows.forms.combobox"
      jéspère avoir une réponse dans le plus vite possible et merci d'avance
  2. Modérateur
    salut

    Tu dois effectivement désigner l'index où tu dois ajouter l'Item. Donc récupérer le nombre d'Item déjà dans le combobox normalement le premier index est égal à zéro, donc nombre d'Item -1 te donne le dernier index utilisé.

    Si tu dispose de 4 Item, le dernier est stocké dans l'index 3.

    ComboBox1.AddItem("test", ComboBox1.ListIndex);

    ça doit donner un truc comme ça, à vérifier

    1. bonjour tt le monde
      j'ai vu qq façon pr ajouter une liste des choix ds la combobox mais à chq fois q j'retape la mm chose ça marche pa par exemple combo1.additem "montext" ou bien combo1.additem ("montext",combo1.listindex)
      c koi la solution à votre avis???
      1. peut-être l'endroit où vous tapez le code tout simplement.
    2. Bonjour,

      j'ai eu le même problème, et j'ai fait ce code qui regarde si l'item à ajouter n'existe pas déjà :

      If Form2.TextBox0.Text <> "" Then
      For i = 0 To ComboBox1.Items.Count - 1
      If ComboBox1.Items(i) = UCase(Form2.TextBox0.Text) Then
      C = 1
      End If
      Next i
      If C = 0 Then
      ComboBox1.Items.Add(UCase(Form2.TextBox0.Text))

      End If
      End If

      j'espère que ça va t'aider