none
Proyecto con un botón activa acción

    Pregunta

  • Tengo un proyecto con un botón el cual quiero activar la actividad del botón activando la acción al pulsar la tecla F2.

    Public Class Form1
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            MessageBox.Show("hola")
        End Sub
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
        End Sub
        Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
            If e.KeyCode = Keys.F2 Then    '''e.KeyCode me marca error
                Button1_Click(sender, e)
    
            End If
    
        End Sub
    End Class

     
    domingo, 9 de octubre de 2016 17:44

Respuestas

  • Hola Cael1020,

    Ahora que analizo el código, si quieres detectar la pulsación de una tecla en el formulario, deberías usar el evento KeyDown y no el KeyPress.

    Activa la propiedad KeyPreview del Formulario :

    Y el evento :

    Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
        If e.KeyCode = Keys.F2 Then
            Button1.PerformClick()
        End If
    End Sub

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta Cael1020 domingo, 9 de octubre de 2016 19:09
    domingo, 9 de octubre de 2016 17:58

Todas las respuestas

  • Hola Cael1020,

    Prueba comparar con el e.KeyChar.

     If e.KeyChar = Convert.ToChar(Keys.F2) Then
          Button1_Click(sender, e)
     End If

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    domingo, 9 de octubre de 2016 17:51
  • Hola Cael1020,

    Ahora que analizo el código, si quieres detectar la pulsación de una tecla en el formulario, deberías usar el evento KeyDown y no el KeyPress.

    Activa la propiedad KeyPreview del Formulario :

    Y el evento :

    Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
        If e.KeyCode = Keys.F2 Then
            Button1.PerformClick()
        End If
    End Sub

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta Cael1020 domingo, 9 de octubre de 2016 19:09
    domingo, 9 de octubre de 2016 17:58
  • Muchas gracias me ayudo mucho, recomendado. 
    domingo, 9 de octubre de 2016 19:09