Código vb:
Ver originalImports System.Data.SqlClient
Public Class VentaLibros
    Private myConn As New SqlConnection
    Private myCmd As New SqlCommand
    Private myReader As SqlDataReader
    Private results As String
    Dim adaptor As New SqlClient.SqlDataAdapter
    Dim dataset As New DataSet
    Private Sub VentaLibros_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
    End Sub
 
    Private Sub TbProducto_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TbProducto.KeyPress
        'Valido que se ingrese solo numeros
 
        If Char.IsNumber(e.KeyChar) Then
            e.Handled = False
            'Valido que se presione Backspace,Enter
            'ElseIf Char.IsControl(e.KeyChar) Then
            '  e.Handled = False
            'Las demas teclas quedan bloqueadas
        Else
            e.Handled = True
        End If
 
        'Si mando un ENTER entonces que busque
        If e.KeyChar = Convert.ToChar(Keys.Enter) Then
 
            'Aqui ya te encargas de hacer tu busqueda e insertarlo a tu gridview
            myConn = New SqlConnection("Initial Catalog=libroteka;Data Source=localhost;Integrated Security=SSPI;")
            'Crear un objeto Command.
            myCmd = myConn.CreateCommand
            myCmd.CommandText = "SELECT * FROM libros WHERE cod_libro ='" & TbProducto.Text & "' "
            myConn.Open()
            myReader = myCmd.ExecuteReader()
            'Ltver.View = View.Details
            'Ltver.Items.Clear()
            Dim j = 0
            Do While myReader.Read()
                Ltver.Items.Add(Str(myReader.Item("cod_libro")), 0)
                Ltver.Items(j).SubItems.Add(myReader.Item("nombre_libro"))
                Ltver.Items(j).SubItems.Add(myReader.Item("precio"))
                'j = j + 1
            Loop
 
 
            ' Dim j = 0
 
            ' j = Ltver.Items.Contains
 
 
            'Ltver.Items.Add(TbProducto.Text, "cod_libro")
            'Ltver.Items.SubItems.Add("nombre_libro").ToString()
            'Ltver.Items.SubItems.Add("precio").ToString()
            myReader.Close()
            myConn.Close()
            'Ltver.Sort()
        End If
    End Sub
 
    Private Sub TbProducto_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TbProducto.TextChanged
        'Por ejemplo yo defino la longitud del codigo, en este caso
        'Si llega a 13
        If TbProducto.Text.Trim().Length = 13 Then
            'Que envie un enter
            SendKeys.Send("{Enter}")
        End If
    End Sub
End Class
  
el primer codigo de libro que ingreso y se ingresa bien pero no puedo borrar el codigo en el texbox por que las teclas estan bloqueadas creo. 
    If Char.IsNumber(e.KeyChar) Then
            e.Handled = False
            'Valido que se presione Backspace,Enter
            'ElseIf Char.IsControl(e.KeyChar) Then
            '  e.Handled = False
            'Las demas teclas quedan bloqueadas
        Else
            e.Handled = True
        End If 
este codigo lo tengo asi porque si le saco los comentarios al ingresar un codigo de libro en el textbox empiesa a generar varias filas en el listview y no para sigue corriendo  
tambien comotengo ese codigo no me agrega otra fila de otro libro 
lo inetnto y solo me agrega el codigo del libro pero no el nombre y el precio 
en todo eso estoy estancado he buscado pero nada, alomejor sera una palabara que agregar o cambiar? ....