combobox

13/07/2005 - 17:33 por Miko_tnt | Informe spam
quiero realiar una busqueda en un combobox y tengo el siguiente problema

que lo que valla escribiendo en el la propiedad text me valla mostrando lo
elementos que tengo algo asi como la barra de direcciones de un navegador.

se que si presiona la flecha de abajo y voy escribiendo se va mostrado el
mas cercano, pero no se esta seleccionando ni nada, tampoco puedo seleccionar
con el mouse todo lo que esta escrito en el text para borralo.

lo que hago es lo siguiente pero no me funciona:

Private Sub cbox_textchanged(ByVal sender As Object, ByVal e As
EventArgs) Handles cbox.TextChanged
Dim i As Integer
Try
i = cbox.FindString(cbox.Text)

Catch ex As Exception
MsgBox(ex.Message)
End Try

con esto selecciono el indice de la palabra mas cercana pero si colocara

cbox.selectedindex=i

me mostraria solo la palabra en el text en ves de mostrarme los mas
cercanos...

agradezko kualkier ayuda

Preguntas similare

Leer las respuestas

#1 Miko_tnt
13/07/2005 - 19:21 | Informe spam
Carlos muchas gracias, esto me ayudo bastante...

pero hay alguna forma de que tan pronto valla digitando se despliegue el
combo automaticamente, sin necesidad de presionar la flecha de abajo??

gracias nuevamente



"Carlos Durán Urenda" escribió:

Prueba lo siguiente


al cargar el formulario realiza una llamada de la siguiente manera...

ComboAutoComplete Me.ComboBox1



Private Sub ComboAutoCompleteKeyUp(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) 'Handles ComboBox2.KeyUp
Dim CB As ComboBox = DirectCast(sender, ComboBox)
Dim inicio As Integer = CB.Text.Length
Dim indice As Integer
Dim t As String = e.KeyCode.ToString
If t.Length = 1 AndAlso (IsNumeric(t) OrElse (t >= "A" AndAlso t <=
"Z") _
OrElse InStr(" /*-+()!#$%&=?¡¿~{}[],.-_<>@|°¬",
t) > 0) Then

Dim p As Integer = CB.SelectionStart
indice = CB.FindString(CB.Text.Substring(0, p))
If indice >= 0 Then
CB.SuspendLayout()
CB.SelectedIndex = indice
CB.Select(p, CB.Text.Length)
CB.ResumeLayout()
End If
End If
End Sub
Friend Sub ComboAutoComplete(ByVal Combo As ComboBox)
AddHandler Combo.KeyUp, AddressOf ComboAutoCompleteKeyUp
End Sub


Saludos
Carlos Durán

"Miko_tnt" escribió en el mensaje
news:
> quiero realiar una busqueda en un combobox y tengo el siguiente problema
>
> que lo que valla escribiendo en el la propiedad text me valla mostrando lo
> elementos que tengo algo asi como la barra de direcciones de un navegador.
>
> se que si presiona la flecha de abajo y voy escribiendo se va mostrado el
> mas cercano, pero no se esta seleccionando ni nada, tampoco puedo
> seleccionar
> con el mouse todo lo que esta escrito en el text para borralo.
>
> lo que hago es lo siguiente pero no me funciona:
>
> Private Sub cbox_textchanged(ByVal sender As Object, ByVal e As
> EventArgs) Handles cbox.TextChanged
> Dim i As Integer
> Try
> i = cbox.FindString(cbox.Text)
>
> Catch ex As Exception
> MsgBox(ex.Message)
> End Try
>
> con esto selecciono el indice de la palabra mas cercana pero si colocara
>
> cbox.selectedindex=i
>
> me mostraria solo la palabra en el text en ves de mostrarme los mas
> cercanos...
>
> agradezko kualkier ayuda
>
>



Respuesta Responder a este mensaje
#2 Carlos Durán Urenda
13/07/2005 - 19:38 | Informe spam
Prueba lo siguiente


al cargar el formulario realiza una llamada de la siguiente manera...

ComboAutoComplete Me.ComboBox1



Private Sub ComboAutoCompleteKeyUp(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) 'Handles ComboBox2.KeyUp
Dim CB As ComboBox = DirectCast(sender, ComboBox)
Dim inicio As Integer = CB.Text.Length
Dim indice As Integer
Dim t As String = e.KeyCode.ToString
If t.Length = 1 AndAlso (IsNumeric(t) OrElse (t >= "A" AndAlso t <=
"Z") _
OrElse InStr(" /*-+()!#$%&=?¡¿~{}[],.-_<>@|°¬",
t) > 0) Then

Dim p As Integer = CB.SelectionStart
indice = CB.FindString(CB.Text.Substring(0, p))
If indice >= 0 Then
CB.SuspendLayout()
CB.SelectedIndex = indice
CB.Select(p, CB.Text.Length)
CB.ResumeLayout()
End If
End If
End Sub
Friend Sub ComboAutoComplete(ByVal Combo As ComboBox)
AddHandler Combo.KeyUp, AddressOf ComboAutoCompleteKeyUp
End Sub


Saludos
Carlos Durán

"Miko_tnt" escribió en el mensaje
news:
quiero realiar una busqueda en un combobox y tengo el siguiente problema

que lo que valla escribiendo en el la propiedad text me valla mostrando lo
elementos que tengo algo asi como la barra de direcciones de un navegador.

se que si presiona la flecha de abajo y voy escribiendo se va mostrado el
mas cercano, pero no se esta seleccionando ni nada, tampoco puedo
seleccionar
con el mouse todo lo que esta escrito en el text para borralo.

lo que hago es lo siguiente pero no me funciona:

Private Sub cbox_textchanged(ByVal sender As Object, ByVal e As
EventArgs) Handles cbox.TextChanged
Dim i As Integer
Try
i = cbox.FindString(cbox.Text)

Catch ex As Exception
MsgBox(ex.Message)
End Try

con esto selecciono el indice de la palabra mas cercana pero si colocara

cbox.selectedindex=i

me mostraria solo la palabra en el text en ves de mostrarme los mas
cercanos...

agradezko kualkier ayuda


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida