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()); }
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)); }