예제 #1
0
            public override string ToString()
            {
                var shortcutText = new StringBuilder();

                if (Ctrl)
                {
                    shortcutText.Append("Ctrl + ");
                }

                if (Shift)
                {
                    shortcutText.Append("Shift + ");
                }

                if (Alt)
                {
                    shortcutText.Append("Alt + ");
                }

                if (Windows)
                {
                    shortcutText.Append("Win + ");
                }

                var keyString =
                    KeyboardHelper.CodeToString((uint)KeyInterop.VirtualKeyFromKey(KeyCode)).ToUpper().Trim();

                if (keyString.Length == 0)
                {
                    keyString = new KeysConverter().ConvertToString(KeyCode);
                }

                // If the user presses "Escape" then show "Escape" :)
                if (keyString == "\u001B")
                {
                    keyString = "Escape";
                }

                shortcutText.Append(keyString);
                return(shortcutText.ToString());
            }
예제 #2
0
        void PopUpKeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Up || e.KeyCode == Keys.Down)
            {
                return;
            }

            if (e.KeyCode == Keys.Right || e.KeyCode == Keys.Left || e.KeyCode == Keys.Back || e.KeyCode == Keys.Delete || e.KeyCode == Keys.Tab)
            {
                e.Handled = true;
                this.Focus();

                string key = e.KeyCode.ToString();
                SendKeys.Send("{" + (key == "Back" ? "BS" : key) + "}");
                return;
            }

            if (e.KeyCode == Keys.Return && (this.PopUp.SelectedIndex != -1 || this.PopUp.Items.Count == 1))
            {
                if (this.PopUp.Items.Count == 1)
                {
                    this.PopUp.SelectedIndex = 0;
                }

                this.Focus();
                this.PopUp.Visible = false;
                return;
            }

            this.Focus();

            this.OnKeyDown(e);
            this.OnKeyPress(new KeyPressEventArgs((char)e.KeyValue));

            this.AppendText(KeyboardHelper.CodeToString(e.KeyValue));
        }