none
Usar textbox como hotkey o atajo RRS feed

  • Pregunta

  • Hola soy algo nuevo en esto, estoy en un proyecto vb.net, lo que quiero es que al presionar una tecla se habra un formulario

    pero puse un apartado con un textbox en el que el usuario introduzca una tecla a su preferencia, asi cuando el ponga por ejemplo dentro del textbox la tecla "B", y luego lo presione, se ejecute la acción , eh intentado con este codigo :

     Private Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vkey As Long) As Integer

     Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            If GetAsyncKeyState(TextBox1.Text) Then
                MsgBox("Formulario 2")
                form2.show()
            End If
        End Sub

    --------------------

    El problema de este código es qué cuando escribo en el textbox una letra , me sale error,  solo puedo ingresar números

    por ejemplo si pongo en el textbox el numero "18" , es la tecla Ctrl , la letra "A" es el numero "65" ... los codigos de cada letra 

    esta en esta página : http://www.webusable.com/AltKeyCodes.htm , si me pudieran ayudar para solo ingresar la letra y me lo reconozca y no con numeros :((

    sábado, 27 de octubre de 2018 18:21

Todas las respuestas

  • Hola buenos dias luisMD99 mira este codigo por si el textbox esta en el formulario 1 pones este codigo

    Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown If ChrW(e.KeyData) = CChar(TextBox1.Text) Then

    MsgBox("Formulario 2"

    Form2.Show()

    End If TextBox1.ResetText() End Sub


    pero si el textbox no esta dentro del formulario 1 pones este otro codigo 

        Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
            If ChrW(e.KeyData) = CChar(TextBox1.Text) Then
                MsgBox("Formulario 2")
                Form2.Show()
            End If
        End Sub

    espero te sirva un placer

    domingo, 28 de octubre de 2018 10:13