2012-04-30 20 views
5

Quiero detectar cuando se presiona una combinación como Ctrl-C en una aplicación WPF. Lo que he leído en línea dice que usar algo como la siguiente en el evento KeyDown (o KeyUp):Detectando combinaciones de teclas

if ((Keyboard.Modifiers == ModifierKeys.Control) && (e.Key == Key.S)) 
{ 
    MessageBox.Show("Save!"); 
} 

sólo estoy tratando de entender cómo funciona esto. Según lo entiendo, e.Key contiene la tecla presionada que activó el evento y Keyboard.Modifiers contiene la información sobre el estado de la clave de control en este momento. ¿Es seguro suponer que la clave de control seguirá bajando para cuando se maneje el evento KeyDown?

Por ejemplo, reinicio Firefox y se agota cargando un montón de pestañas, y mientras tanto presiono Ctrl-S en mi aplicación. Hay un retraso en llegar a KeyDown, y la aplicación cree que solo se presionó S.

Gracias

Respuesta

3

usted podría utilizar KeyBindings vez, definen gestos completos sin tal separación.

Cuestiones relacionadas