[VB] añadir elemento en un combobox

Hola,

(estoy en visual basic),

cuando hago clic en un botón, agrego 2 elementos en mi combobox:

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

pero cuando vuelvo a hacer clic en este botón, me agrega los elementos por duplicado por ejemplo:

montext1
montext2
montext1
montext2

en lugar de:

montext1
montext2

sea cual sea la cantidad de veces que haga clic en el botón. Creo que hay algo relacionado con la propiedad index pero...

Gracias de antemano

4 respuestas

  1. hola...

    simplemente hay que hacer:
    ComboBox1.Clear, antes de cada recarga para borrar el contenido anterior de la lista...

    ¡Buena suerte!
    1
    1. Tengo casi el mismo problema, pero cuando escribo combobox.clear me dice "'clear' no es un miembro de System.Windows.Forms.ComboBox"
      espero tener una respuesta lo más pronto posible y gracias de antemano.
      0
  2. Moderador
    hola

    Debes efectivamente designar el índice donde debes agregar el Item. Así que recupera el número de Items ya en el combobox, normalmente el primer índice es igual a cero, por lo que número de Items -1 te da el último índice utilizado.

    Si tienes 4 Items, el último se almacena en el índice 3.

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

    debería dar algo así, a verificar

    --
    Chouba,
    Pochard de asalto..
    0
    1. Hola a todos
      He visto algunas formas de agregar una lista de opciones en el combobox, pero cada vez que vuelvo a escribir lo mismo no funciona. Por ejemplo, combo1.additem "montext" o combo1.additem ("montext",combo1.listindex)
      ¿Cuál es la solución según ustedes???
      0
      1. quizás el lugar donde simplemente introduces el código.
        0
    2. Hola,

      tuve el mismo problema y hice este código que verifica si el ítem a agregar ya existe:

      Si Form2.TextBox0.Text <> "" Entonces
      Para i = 0 Hasta ComboBox1.Items.Count - 1
      Si ComboBox1.Items(i) = UCase(Form2.TextBox0.Text) Entonces
      C = 1
      Fin Si
      Siguiente i
      Si C = 0 Entonces
      ComboBox1.Items.Add(UCase(Form2.TextBox0.Text))

      Fin Si
      Fin Si

      espero que te ayude
      0