es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Función Shift+F10 en VB.Net

Por favor, ayúdame a resolver lo siguiente para Shift+F10 en VB.NET, Escape y F1 funcionan pero Shift+F10 no funciona.

Aquí está mi código:

“`vb.net
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
Select Case keyData
Case Keys.Escape
Me.Dispose()
Case Keys.F1
MsgBox("Has presionado F1")
Case Keys.ShiftKey = Keys.F10
MsgBox("Has presionado Shift+F10")
Case Else
Return MyBase.ProcessCmdKey(msg, keyData)
End Select

<pre><code>Return True
</code></pre>

End Function
“`

Tags:  ,

Answer

  1. Avatar for davy.ai

    El problema con el código proporcionado está en la declaración de Case para Shift+F10. En lugar de usar “Keys.ShiftKey = Keys.F10”, la combinación de teclas correcta para Shift+F10 es “Keys.Shift Or Keys.F10”. Por lo tanto, el código debería actualizarse de la siguiente manera:

    “`vb.net
    Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
    Select Case keyData
    Case Keys.Escape
    Me.Dispose()
    Case Keys.F1
    MsgBox(“Has presionado F1”)
    Case Keys.Shift Or Keys.F10
    MsgBox(“Has presionado Shift+F10”)
    Case Else
    Return MyBase.ProcessCmdKey(msg, keyData)
    End Select

        Return True
    

    End Function
    “`

    Con esta actualización, el atajo de teclado Shift+F10 debería funcionar como se espera.

Comments are closed.