La idea de este ejemplo es.
- Tenemos una serie de elementos en el combobox que podemos seleccionar.
- Queremos añadir un nuevo elemento al desplegable del combobox en ejecución para poder ampliar la lista seleccionable de este.
- Usaremos su propia caja de texto.
Entraremos un nombre en la caja de texto y podemos escribir que categoría de deporte hace o seleccionamos una en el desplegable
del combobox. Una vez tengamos el nombre y la categoría, la entraremos. Se mostrará en la ListBox inferior y podemos volver
a empezar.
Tenemos solo tres categorías de deportistas. Corredores, baloncestistas y nadadores. Añado Futbolista ( por poner algo ).
La última categoría se muestra en la caja de texto del combobox y podemos seleccionarla de su lista.
Este es el código del ejemplo:
Public Sub ComboBox1_KeyPress()
Dim nuevacategoria As String
' Si el contenido de la caja de texto no es nula
If Not IsNull(TextBox1.Text) Then
'Si la tecla pulsada es Enter o Return
If Key.Code = Key.Enter Or Key.Code = Key.Return Then
nuevacategoria = ComboBox1.Text
If Not IsNull(nuevacategoria)
If ComboBox1.Find(nuevacategoria) = -1 Then
ComboBox1.Add(nuevacategoria)
ListBox1.Add(TextBox1.Text & " - " & nuevacategoria)
ComboBox1.Text = nuevacategoria
Else
ListBox1.Add(TextBox1.Text & " - " & ComboBox1.Text)
Endif
TextBox1.Text = ""
TextBox1.SetFocus
Endif
Endif
Else
'Si la caja de texto no contiene un texto valido volvemos a enfocarla
TextBox1.SetFocus
Endif
End
Public Sub TextBox1_KeyPress()
If Key.Code = Key.Enter Or Key.Code = Key.Return Then ComboBox1.SetFocus
End
Dim nuevacategoria As String
' Si el contenido de la caja de texto no es nula
If Not IsNull(TextBox1.Text) Then
'Si la tecla pulsada es Enter o Return
If Key.Code = Key.Enter Or Key.Code = Key.Return Then
nuevacategoria = ComboBox1.Text
If Not IsNull(nuevacategoria)
If ComboBox1.Find(nuevacategoria) = -1 Then
ComboBox1.Add(nuevacategoria)
ListBox1.Add(TextBox1.Text & " - " & nuevacategoria)
ComboBox1.Text = nuevacategoria
Else
ListBox1.Add(TextBox1.Text & " - " & ComboBox1.Text)
Endif
TextBox1.Text = ""
TextBox1.SetFocus
Endif
Endif
Else
'Si la caja de texto no contiene un texto valido volvemos a enfocarla
TextBox1.SetFocus
Endif
End
Public Sub TextBox1_KeyPress()
If Key.Code = Key.Enter Or Key.Code = Key.Return Then ComboBox1.SetFocus
End
La variable nuevacategoria he tenido que usarla obligatoriamente. Sin ella el combobox no se comporta como quiero.
Imaginar que quiero prescindir de ella y usar solo combobox1.text. No parece suficiente y debo usar una variable auxiliar.
Aquí el ejemplo.
Saludos
Olimpiadas.tar.gz | ||
Descripción: | Añadir un elemento a la lista del combobox desde su caja de texto | Descargar |
Nombre del archivo: | Olimpiadas.tar.gz | |
Tamaño: | 13.05 KB | |
Descargado: | 71 veces |
Olimpiadas.tar.gz | ||
Descripción: | Añadir un elemento a la lista del combobox desde su caja de texto | Descargar |
Nombre del archivo: | Olimpiadas.tar.gz | |
Tamaño: | 13.05 KB | |
Descargado: | 71 veces |
Olimpiadas.tar.gz | ||
Descripción: | Añadir un elemento a la lista del combobox desde su caja de texto | Descargar |
Nombre del archivo: | Olimpiadas.tar.gz | |
Tamaño: | 13.05 KB | |
Descargado: | 71 veces |