Cuando el usuario presiona los Shift +UP llaves, quiero que mi forma de responder llamando a un cuadro de mensaje.combinación de captura en una aplicación Windows Forms
¿Cómo hago esto en Windows Forms?
Cuando el usuario presiona los Shift +UP llaves, quiero que mi forma de responder llamando a un cuadro de mensaje.combinación de captura en una aplicación Windows Forms
¿Cómo hago esto en Windows Forms?
Controle el evento KeyDown
y tener algo como:
if (e.Modifiers == Keys.Shift && e.KeyCode == Keys.Up)
{
MessageBox.Show("My message");
}
El controlador de eventos tiene que estar en el formulario principal y hay que establecer la propiedad KeyPreview
a true
. Esto se puede hacer en modo de diseño desde el cuadro de diálogo de propiedades.
En caso de que quiera usar varios modificadores, KeyEventArgs
también tiene valores booleanos para indicar si se presionan CTRL, ALT o SHIFT.
Ejemplo:
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.Alt && e.Shift && e.KeyCode == Keys.F12)
MessageBox.Show("My message");
}
En este ejemplo el cuadro de mensaje es mostrar si CTRL, ALT, SHIFT y F12 se presionan al mismo tiempo.
No creo que funcione. Lo intenté muchas veces, pero el MessageBox nunca apareció – Graviton
@Ngu Soon Hui - ¿puedes publicar tu código entonces? Deberia de funcionar. – ChrisF
funciona en un evento 'keydown' para un formulario. Lo siento. Estaba colocando el código anterior en el evento 'keydown' del control alojado en el formulario, que era el motivo por el cual no funcionaba – Graviton