Exemple #1
0
        private void Hotkey_KeyDown(object sender, KeyEventArgs e)
        {
            bool isLetterOrDigit = char.IsLetterOrDigit((char)e.KeyCode);

            if (isLetterOrDigit)
            {
                // Format modifier text and generate modifier int for hotkey construction
                string mod  = "";
                int    imod = 0x0;

                if (e.Modifiers.ToString() != "None")
                {
                    mod = e.Modifiers.ToString().Replace(",", " +") + " + ";

                    foreach (var m in e.Modifiers.ToString().Replace(" ", "").Split(','))
                    {
                        if (m == "Control")
                        {
                            imod += GlobalHotkey.Constants.CTRL;
                        }
                        else if (m == "Alt")
                        {
                            imod += GlobalHotkey.Constants.ALT;
                        }
                        else if (m == "Shift")
                        {
                            imod += GlobalHotkey.Constants.SHIFT;
                        }
                    }
                }

                GlobalHotkey hotkey = (GlobalHotkey)(((TextBox)sender).Tag); // Textboxes are tagged with corresponding GlobalHotkey in Form1 constructor

                hotkey.ChangeBind(imod, e.KeyCode);

                ((TextBox)sender).Text = mod + e.KeyCode;
            }
        }