Propiedad ListIndex de un ComboBox

Yolanda
04 de Junio del 2003
Necesito evaluar la propiedad ListIndex de un ComboBox, pero hasta que no pico sobre él y lo modifico, al evaluarla me da -1 en lugar del valor activo que tengo.
¿Puedo evaluarla sin necesidad de modificarlo?

angeles
04 de Junio del 2003
La propiedad ListIndex almacena el índice del elemento seleccionado de un ComboBox, si el valor es -1 es que no se ha seleccionado nada, otra cosa es que tú le hayas dado valor a la propiedad text, pero no se ha seleccionado. Lo que si puedes hacer es asignarle tú un valor en código.

Yolanda
04 de Junio del 2003
¿Asignarle un valor en codigo? ¿Que quieres decir? ¿Como lo hago?

angeles
04 de Junio del 2003
Si le asignas un valor en código estás seleccionando tú un elemento del combo. Pro ejemplo si quieres seleccionar por defecto el primer elemento del combo sería:
ComboBox1.ListIndex=0
Los valores que la puedes asignar deben estar entre 0 y nº de elemento menos 1 y edmás el -1, que eleiminaría la selección del combo. Al asinar valor al ListIndex se modifica la propiedad text del combo y se ejecuta el evento click del mismo, todo ello de forma automática.

Yolanda
04 de Junio del 2003
Gracias pero creo que no me sirve. Yo lo que necesito es saber, cuando cargo el formulario, el indice del elemento que se hay en el combo, el indice al que corresponde el texto que yo veo.
De todas formas muchas gracias por tu interés.

angeles
04 de Junio del 2003
Para eso sólo tienes que establecer la propiedad Style del combo a DropDown, es decir a valor 2, de esta forma al modificarse el valor de la propiedad text, se establece el listindex al valor correpondiente.

Private Sub Command1_Click()
MsgBox Me.Combo1.ListIndex
Me.Combo1.Text = "yo"
MsgBox Me.Combo1.ListIndex
End Sub

Private Sub Form_Load()
With Me.Combo1
.AddItem "El"
.AddItem "tu"
.AddItem "yo"
.AddItem "nosotros"
.ListIndex = -1
End With
End Sub
Cuando haces click en el botón primero mostraría -1, y luego, después de modificar mostraría 2, que es índice de la cadena de texto correspondiente.
Espero que te sirva