I am trapping a `KeyDown` event and I need to be able to check whether the current keys pressed down are : `Ctrl` + `Shift` + `M` ?

---

I know I need to use the `e.KeyData` from the `KeyEventArgs`, the `Keys` enum and something with Enum Flags and bits but I'm not sure on how to check for the combination.
['https://Stackoverflow.com/questions/865774', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/44084/']
You need to use the [Modifiers](http://msdn.microsoft.com/en-us/library/system.windows.forms.keyeventargs.modifiers.aspx) property of the KeyEventArgs class.

Something like:

```
//asumming e is of type KeyEventArgs (such as it is 
// on a KeyDown event handler
// ..
bool ctrlShiftM; //will be true if the combination Ctrl + Shift + M is pressed, false otherwise

ctrlShiftM = ((e.KeyCode == Keys.M) &&               // test for M pressed
              ((e.Modifiers & Keys.Shift) != 0) &&   // test for Shift modifier
              ((e.Modifiers & Keys.Control) != 0));  // test for Ctrl modifier
if (ctrlShiftM == true)
{
    Console.WriteLine("[Ctrl] + [Shift] + M was pressed");
}

```
I think its easiest to use this: 

`if(e.KeyData == (Keys.Control | Keys.G))`