Beispiel #1
0
        protected void UpdateTextBoxWithHotkey(HotkeyStruct hks, TextBox tb, Hotkey.Type oldType)
        {
            if (hks.id == Hotkey.Type.None)
            {
                return;
            }

            if ((int)Keys.Alt == hks.modifier)
            {
                tb.Text = "Alt + ";
            }
            else if ((int)Keys.Control == hks.modifier)
            {
                tb.Text = "Ctrl + ";
            }
            else if ((int)Keys.Shift == hks.modifier)
            {
                tb.Text = "Shift + ";
            }

            if (hks.keyCode != (int)Keys.ControlKey && hks.keyCode != (int)Keys.ShiftKey && hks.keyCode != (int)Keys.Menu && hks.keyCode != (int)Keys.Alt)
            {
                string keyChar = KeyCodeToUnicode((Keys)hks.keyCode);
                if (keyChar == "None")
                {
                }
                if (keyChar == "")
                {
                    tb.Text += (Keys)hks.keyCode;
                }
                else
                {
                    tb.Text += keyChar;
                }
            }

            Hotkey.Type id = (Hotkey.Type)Convert.ToInt32(tb.Tag);
            if (oldType != hks.id && oldType != Hotkey.Type.None)
            {
                // clear other textBox
                foreach (Control x in this.Controls)
                {
                    if (x is TextBox)
                    {
                        Hotkey.Type subId = (Hotkey.Type)Convert.ToInt32(x.Tag);
                        if (oldType == subId)
                        {
                            ((TextBox)x).Text = String.Empty;
                            break;
                        }
                    }
                }
            }
        }
Beispiel #2
0
        private void Capture_KeyDown(object sender, KeyEventArgs e)
        {
            if ((int)e.KeyCode <= 6)
            {
                e.SuppressKeyPress = true;
                return;
            }

            TextBox tb = (TextBox)sender;

            tb.Text = "";
            Hotkey.Type id = (Hotkey.Type)Convert.ToInt32(tb.Tag);

            if (e.KeyCode == Keys.Escape)
            {
                Hotkey.SetHotkey(id, 0, 0);
                //this.del.UpdateHotkeySetup();
                e.SuppressKeyPress = true;
                return;
            }

            int modifier = 0;

            if (e.Alt)
            {
                modifier = (int)Keys.Alt;
            }
            else if (e.Control)
            {
                modifier = (int)Keys.Control;
            }
            else if (e.Shift)
            {
                modifier = (int)Keys.Shift;
            }

            HotkeyStruct ohk = Hotkey.GetHotkeyWithKey((int)e.KeyCode, modifier);
            HotkeyStruct nhk = Hotkey.SetHotkey(id, (int)e.KeyCode, modifier);

            UpdateTextBoxWithHotkey(nhk, tb, ohk.id);
            e.SuppressKeyPress = true;
        }