0

does anyone know how i can setup an event handler so that if the keystrokes Alt + Shift + Ctrl + a letter will do something?

Grant
  • 11,138
  • 32
  • 94
  • 140

2 Answers2

3
override void OnKeyDown( object sender, KeyEventArgs e )
{
    bool myKeysPressed = (e.KeyCode == Keys.A) &&
                         ((e.Modifiers & Keys.Alt) == Keys.Alt) &&
                         ((e.Modifiers & Keys.Shift) == Keys.Shift) &&
                         ((e.Modifiers & Keys.Control) == Keys.Control);
}
Ed S.
  • 122,712
  • 22
  • 185
  • 265
3

Sames as Ed's, but shorter and more readable ;)

override void OnKeyDown( object sender, KeyEventArgs e )
{
    bool myKeysPressed = (e.KeyCode == Keys.A) &&
                          e.Alt &&
                          e.Shift &&
                          e.Control;
}
Thomas Levesque
  • 286,951
  • 70
  • 623
  • 758
  • why do you need to override? is it not possible to just add an event handler to the keydown event? – Grant Oct 07 '09 at 22:01
  • 1
    Yes, you can do the same in an event handler – Thomas Levesque Oct 07 '09 at 23:21
  • Ahhh, didn't even know those properties existed. @Grant: You would override the method if this code was inside of your target object's class definition, otherwise use the event. – Ed S. Oct 07 '09 at 23:43