Esto trata de presentar una lista de nombres que coincidan con lo que vamos tipeando en el txt, la lista la presentamos en un combox que esta oculto solo se ve cuando encuentra al menos una coincidencia.
Tuve que hacer así, pues lo tenia hecho solo en un combobox pero después de una actualización de gambas ningún combobox funcionaba bien, además de mis limitaciones como programador novato que soy, pero esta solución esta prolija y funciona bien, se las dejo para que experimenten.
Cuando disponga de tiempo comentare el código, saludos.
' gambas class file
' by Postapase
Public EstosNombres As New String[]
Public Sub Form_Open()
Me.Center
EstosNombres.Add("JOSE")
EstosNombres.Add("JUAN")
EstosNombres.Add("JOSELO")
EstosNombres.Add("MARIA")
EstosNombres.Add("MARCELO")
EstosNombres.Add("MARCOS")
End
Public Sub txtNombre_KeyRelease()
Dim nombre As String
If Len(txtNombre.Text) = 0 Then
cbxNombre.Visible = False
Return
Endif
cbxNombre.Clear
For Each nombre In EstosNombres
If InStr(Left(UCase(nombre), Len(txtNombre.Text)), UCase(txtNombre.Text)) = 1 Then
cbxNombre.Add(nombre)
cbxNombre.Visible = True
Endif
Next
End
Public Sub cbxNombre_Click()
txtNombre.Text = cbxNombre.Text
cbxNombre.Visible = False
End
' by Postapase
Public EstosNombres As New String[]
Public Sub Form_Open()
Me.Center
EstosNombres.Add("JOSE")
EstosNombres.Add("JUAN")
EstosNombres.Add("JOSELO")
EstosNombres.Add("MARIA")
EstosNombres.Add("MARCELO")
EstosNombres.Add("MARCOS")
End
Public Sub txtNombre_KeyRelease()
Dim nombre As String
If Len(txtNombre.Text) = 0 Then
cbxNombre.Visible = False
Return
Endif
cbxNombre.Clear
For Each nombre In EstosNombres
If InStr(Left(UCase(nombre), Len(txtNombre.Text)), UCase(txtNombre.Text)) = 1 Then
cbxNombre.Add(nombre)
cbxNombre.Visible = True
Endif
Next
End
Public Sub cbxNombre_Click()
txtNombre.Text = cbxNombre.Text
cbxNombre.Visible = False
End
ListaComboBox-0.0.1.tar.gz
No hay comentarios.:
Publicar un comentario