que tuviera el mismo texto, asi que como por fin lo pude hacer aqui lo comparto
'Flag para la tecla BackSpace
Public KeyRetroceso As Boolean
Function Autocompletar_Grid(ByVal TBox As TextBox, ByVal Columna As Integer)
Dim i As Integer
Dim pos_SelStart As Integer
If (KeyRetroceso Or Len(TBox.Text) = 0) Then
KeyRetroceso = False
Return False
Exit Function
End If
With gridArticulos
'Recorremos todas las filas del grid
For i = 0 To gridArticulos.Rows.Count - 1
'Busca en el grid si hay coincidencia, en la fila y columna actual
If InStr(1, Trim(gridArticulos(Columna, i).Value), Trim(TBox.Text), vbTextCompare) = 1 Then
pos_SelStart = TBox.SelectionStart
'Asignamos el valor de la celda actual al textbox
TBox.Text = gridArticulos(Columna, i).Value
'Indicamos el comienzo de la selección
TBox.SelectionStart = pos_SelStart
'seleccionamos la porción de texto en el Text
TBox.SelectionLength = Len(gridArticulos(Columna, i).Value) - pos_SelStart
' Seleccionamos la fila
gridArticulos(Columna, i).Selected = True
Exit For
End If
Next i
End With
Return True
End Function
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
' aqui mandamos llamar nuestra funcion para que
' cada que se introduzca un dato se ejecute
' Autocompletar_Grid(aqui nuestro textbox , aqui el numero de columna)
' aqui vamos buscar la clave
Call Autocompletar_Grid(TextBox1, 1)
End Sub
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
' aqui mandamos llamar nuestra funcion para que
' cada que se introduzca un dato se ejecute
' Autocompletar_Grid(aqui nuestro textbox , aqui el numero de columna)
' aqui vamos buscar la descripcion
Call Autocompletar_Grid(TextBox2, 2)
End Sub
Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
'.. Si la tecla presionada es Backspace o la tecla Delete
If e.KeyCode = Keys.Back Or e.KeyCode = Keys.Delete Then
' ..si hay texto en el Textbox
If Len(TextBox1.Text) <> 0 Then
KeyRetroceso = True
End If
End If
End Sub
Private Sub TextBox2_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox2.KeyDown
'.. Si la tecla presionada es Backspace o la tecla Delete
If e.KeyCode = Keys.Back Or e.KeyCode = Keys.Delete Then
' ..si hay texto en el Textbox
If Len(TextBox2.Text) <> 0 Then
KeyRetroceso = True
End If
End If
End Sub
Despues de hacer todo esto ya podemos escribir en nuestro textbox y veremos como al ir introduciendo datos en el se va a autocompletar y se seleccionara el renglon del grid que sea igual


