private string HandleKey(ConsoleKey key, string numToBuy) { string nums = "0123456798"; if (key.ToString().Length == 2 && key.ToString() [0] == 'D') { if (nums.Contains(key.ToString() [1]) && numToBuy.Length < 9) { numToBuy += key.ToString() [1]; } } else if (key == ConsoleKey.Backspace && numToBuy.Length > 0) { numToBuy = numToBuy.Substring(0, numToBuy.Length - 1); } while (numToBuy.IndexOf("0") == 0) { numToBuy = numToBuy.Substring(1); } if (numToBuy.Replace("0", "").Length == 0) { numToBuy = "0"; } return(numToBuy); }
public bool IsSameChar(ConsoleKey compareKey) { if (compareKey.ToString().StartsWith("NumPad") && Key.ToString().StartsWith("D")) { return(compareKey.ToString()[6] == (char)Key); } return(compareKey == Key); }
/// <summary> /// Waits for the user to enter a specific key before continuing. /// </summary> /// <param name="key">The key the user must enter to continue.</param> public static void WaitForKey(ConsoleKey key = ConsoleKey.Escape) { WriteLine($"Press {key.ToString()} to continue"); for (var k = ReadKey(true); k.Key != key; k = ReadKey(true)) { WriteLine($"Press {key.ToString()} to continue"); } }
private string KeyToString(ConsoleKey key) { if (key >= ConsoleKey.NumPad0 && key <= ConsoleKey.NumPad9) { return(key.ToString().Replace("NumPad", string.Empty)); } else { return(key.ToString()); } }
private static async Task GenericCancel(CancellationTokenSource ct, ConsoleKey key, string name) { Console.WriteLine("Press the " + key.ToString() + " key to cancel the course..."); while (Console.ReadKey(true).Key != key) { //Console.WriteLine("Press the any key to cancel..."); } Console.WriteLine("\nkey " + key.ToString() + " pressed : Cancellation start for " + name); ct.Cancel(); }
private static char MapToCharacter(ConsoleKey key) { var keyString = key.ToString(); return(keyString switch { { Length : 1 } => keyString[0],
static void PlayLetter(ConsoleKey key) { var soundFile = Properties.Resources.ResourceManager.GetStream(key.ToString().ToLower()); SoundPlayer sp = new SoundPlayer(soundFile); sp.Play(); }
public string GetChangingPart() { switch (_keyQueued) { case ConsoleKey.LeftArrow: case ConsoleKey.RightArrow: _movePlayerCommand.Execute(_keyQueued.ToString()); break; case ConsoleKey.Spacebar: _shootCommand.Execute(); break; case ConsoleKey.E: HandleRequest("e"); break; case ConsoleKey.P: HandleRequest("p"); break; } _keyQueued = ConsoleKey.F24; _refreshGameCommand.Execute(); return(Game.Instance.ToString()); }
/// <summary> /// Returns false if maximum input attempts is reached. /// </summary> /// <param name="answer"></param> /// <param name="prompt"></param> /// <param name="answerKey1"></param> /// <param name="answerKey2"></param> /// <param name="enterAsDefaultAnswerKey"></param> /// <param name="errorMessage"></param> /// <param name="maxInputAttempts"></param> protected void AskFor(out bool answer, string prompt, ConsoleKey answerKey1, ConsoleKey answerKey2, bool enterAsDefaultAnswerKey = true, string errorMessage = "", int maxInputAttempts = defaultMaxInputAttempts) { int counter = 0; while (counter < maxInputAttempts) { Console.Write($"{prompt} ({(enterAsDefaultAnswerKey ? answerKey1.ToString() : answerKey1.ToString().ToLower())}/{answerKey2.ToString().ToLower()}): "); ConsoleKey inputKey = Console.ReadKey().Key; Console.WriteLine(); if (enterAsDefaultAnswerKey) { if (inputKey == ConsoleKey.Enter) { answer = true; return; } } if (inputKey == answerKey1) { answer = true; return; } if (inputKey == answerKey2) { answer = false; return; } counter++; } answer = false; PrintMaxInputAttemptsMessage(maxInputAttempts, errorMessage); }
public ConsoleAddQuestRequestBuilder WithDatas() { Console.WriteLine("Datas: "); ConsoleKey finishKey = ConsoleKey.Escape; ConsoleKey inputKey; string key; string value; Request.Data = new Dictionary <string, string>(); do { Console.WriteLine("Type " + finishKey.ToString() + " to finish data dict"); inputKey = Console.ReadKey().Key; if (inputKey == finishKey) { break; } Console.Write("Key: "); key = Console.ReadLine(); Console.Write("Value: "); value = Console.ReadLine(); if (!Request.Data.ContainsKey(key)) { Request.Data.Add(key, value); } else { Console.WriteLine("Data was not inserted because " + key + " was already existing"); } } while (true); return(this); }
//Method for verify inputs on registering //Returns bool to RegisterMethod for error handling public static bool VerifyInput(string fieldData, string fieldLabel) { Console.Write("\n\tPlease verify your " + fieldLabel + " ("); UIHelpers.WarningColor(); Console.Write(fieldData); UIHelpers.ResetColor(); Console.Write(") is correct? (Y\\N) "); ConsoleKey responseToVerification = Console.ReadKey().Key; Console.Write("\x1B[1D" + "\x1B[1P" + responseToVerification.ToString().ToUpper()); // if (responseToVerification == ConsoleKey.Y) { UIHelpers.Clear(); UIHelpers.WarningColor(); Console.WriteLine("\tAccount Setup"); UIHelpers.ResetColor(); } else { return(false); } return(true); }
public static Account LoginOrRegister(Account currentUser) { UIHelpers.Clear(); Console.WriteLine("\tWhat would you like to do?\n\n\t\t(L) - Login\n\t\t(R) - Register "); Console.Write("\n\tSelection: "); ConsoleKey loginOrRegisterResponse = Console.ReadKey().Key; Console.Write("\x1B[1D" + "\x1B[1P" + loginOrRegisterResponse.ToString().ToUpper()); if (loginOrRegisterResponse == ConsoleKey.L) { UIHelpers.Clear(); currentUser = LoginController.LoginEmail(loginAttempts); } else if (loginOrRegisterResponse == ConsoleKey.R) { UIHelpers.Clear(); UIHelpers.WarningColor(); Console.WriteLine("\tLet's get an account setup for you!"); UIHelpers.ResetColor(); currentUser = RegisterController.Register(RegistrationEnum.RegisterEmail); } else { UIHelpers.DangerColor(); Console.WriteLine("\n\tThat is an invalid entry. Please select 'L' to Login or 'R' to Register.\n"); System.Threading.Thread.Sleep(1000); UIHelpers.ResetColor(); currentUser = null; LoginOrRegister(currentUser); } return(currentUser); }
private void Input() { while (finished == false) { ConsoleKey key = Console.ReadKey(true).Key; switch (key.ToString()) { case "W": movement.Move(Direction.up); break; case "A": movement.Move(Direction.left); break; case "S": movement.Move(Direction.down); break; case "D": movement.Move(Direction.right); break; } } }
//Method for initial deposit to open account //Returns user to CreatePasswordMethod public static Account FinancialAccountSetup(Account userFromCreatePasswordMethod) { UIHelpers.Clear(); UIHelpers.WarningColor(); Console.WriteLine("\n\tAlmost finished..."); UIHelpers.ResetColor(); Console.WriteLine("\n\tIn order to finish openning an account, you must make an initial deposit of at least $5.00."); Console.Write("\n\tWhat type of account do you want to open? (S) - Savings or (C) - Checking? "); ConsoleKey responseToAccountType = Console.ReadKey().Key; Console.Write("\x1B[1D" + "\x1B[1P" + responseToAccountType.ToString().ToUpper()); if (responseToAccountType == ConsoleKey.S) { // userFromCreatePasswordMethod.CustomerFinancialInformation.AccountType = "Savings"; userFromCreatePasswordMethod.CustomerFinancialInformation.AccountNumber = FinancialModel.NextAccountNumber; FinancialModel.UpdateNextAccountNumber(); AccountMenuView.MakingATransaction(userFromCreatePasswordMethod, "Deposit", true); } else if (responseToAccountType == ConsoleKey.C) { // userFromCreatePasswordMethod.CustomerFinancialInformation.AccountType = "Checking"; userFromCreatePasswordMethod.CustomerFinancialInformation.AccountNumber = FinancialModel.NextAccountNumber; FinancialModel.UpdateNextAccountNumber(); AccountMenuView.MakingATransaction(userFromCreatePasswordMethod, "Deposit", true); } else { return(FinancialAccountSetup(userFromCreatePasswordMethod)); } return(userFromCreatePasswordMethod); }
private static string Input(string input) { string output = ""; if (input == "Spacebar" || input == "Enter") { if (input == "Spacebar") { Console.WriteLine("Add a new comparison path"); output = Path(); Console.WriteLine("Press ENTER to compare"); ConsoleKey consoleKey = Console.ReadKey().Key; Input(consoleKey.ToString()); } } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("INVALID INPUT, Please input a valid key"); Console.ForegroundColor = ConsoleColor.DarkBlue; ConsoleKey consoleKey = Console.ReadKey().Key; Input(consoleKey.ToString()); } return(output); }
private static ConsoleKey CallForUserInput(string Choices = null, string Reason = null, bool error = false) { //default prompt: "Press 'any key' to 'continue'" string trueReason = "."; if (Reason != null) { trueReason = " to " + Reason; } if (Choices == null) { Choices = "any key"; } if (error) { Print("Sorry, that response is not valid."); } Print("Press " + Choices + trueReason); ConsoleKey userInput = Console.ReadKey().Key; Print(); if (debug) { Print(userInput.ToString()); } return(userInput); }
protected override void CustomInputHandle(ConsoleKey key) { var isLetter = key >= ConsoleKey.A && key <= ConsoleKey.Z; var isNumber = key >= ConsoleKey.D1 && key <= ConsoleKey.D0; var value = key.ToString().ToLower(); if (isLetter || isNumber) { promptBox.TextElement.AppendText(value); Invalidate(false); } else if (key == ConsoleKey.Backspace) { promptBox.Text = promptBox.Text.Remove(promptBox.Text.Length - 1); Invalidate(false); } else if (key == ConsoleKey.Enter) { Console.CursorVisible = false; Close(); TextEntered?.Invoke(this, promptBox.Text); } else { Invalidate(true); } }
// Update, called by the subject when something new is happening public void Update(ISubject sub) { // Get the last key pressed ConsoleKey key = (sub as KeyReader).Key; // Show the last key pressed Console.Write(key.ToString()); }
public static void RenderSendMessage(ConsoleKey key) { Console.BackgroundColor = ConsoleColor.DarkBlue; string ch = key.ToString(); Helper.WriteAt(ch, countChars, 39); countChars++; }
/// <summary> /// Converts <see cref="ConsoleKey"/> into a UI-friendly string /// </summary> public static string AsUserString(ConsoleKey key) { var keyText = key.ToString(); return((key >= ConsoleKey.D0 && key <= ConsoleKey.D9) ? keyText.Substring(1) : keyText); }
void DrawMenu() { Console.WriteLine($"[{command_parkDirectory.ToString().Substring(1)}]\tPark Directory"); Console.WriteLine($"[{command_siteAvailability.ToString().Substring(1)}]\tCreate Reservation"); //Console.WriteLine($"[{command_bookReservation.ToString().Substring(1)}]\tBrowse Available Sites"); Console.WriteLine($"[{command_exit.ToString().Substring(0,3)}]\tExit"); }
public Key ReadKey() { ConsoleKey key = Console.ReadKey().Key; string name = key.ToString(); bool isDefined = Enum.TryParse(name, out Key consoleKey); return(consoleKey); }
// Update, called by the subject when something new is happening public void Update(ISubject sub) { // Get the last key pressed ConsoleKey key = (sub as KeyReader).Key; // Save it to a file File.AppendAllText( filename, key.ToString(), Encoding.UTF8); }
static void Main(string[] args) { Terminal.WriteLine("Press a key... pls"); ConsoleKey k = Terminal.Read(false); Terminal.WriteLine("You pressed " + k.ToString()); Thread.Sleep(1000); Terminal.Clear(); }
private Direction?GetDirection(ConsoleKey key) { var s = key.ToString().Replace("Arrow", ""); if (Enum.TryParse <Direction>(s, out var direction)) { return(direction); } return(null); }
private void HandleShoot() { while (true) { ConsoleKey key = Console.ReadKey().Key; Console.Clear(); Console.WriteLine(key.ToString()); if (key.Equals(ConsoleKey.Escape)) { return; } if (((int)key > 48 && (int)key <= 52)) { string name = key.ToString().Substring(1); int value = int.Parse(name) - 1; currentWeapon = weapons[value]; Console.WriteLine("Switched weapon to: " + currentWeapon); } if (key.Equals(ConsoleKey.Spacebar)) { Console.WriteLine("Current weapon: " + currentWeapon); int ammo = dictionary[currentWeapon]--; if (ammo <= 0) { ammo = 0; dictionary[currentWeapon] = ammo; Console.WriteLine("Empty clip!"); } else { Console.WriteLine("Ammo: " + dictionary[currentWeapon]); } } } }
private static void SelectProcess() { TUI.ProcessPrompt(); ConsoleKey inputChar = Console.ReadKey().Key; if (inputChar.ToString().Equals("E")) { EncodeFile(); } else if (inputChar.ToString().Equals("D")) { DecodeFile(); } else { TUI.ProcessError(); SelectProcess(); } }
public void SendKeyStroke(ConsoleKey key, bool preserveCurrentWindow) { IntPtr currentWindow = WinAPI.GetForegroundWindow(); if (WinAPI.GetForegroundWindow() != _process.MainWindowHandle) { InputManager.SwitchWindow(_process.MainWindowHandle); } string code = key switch { ConsoleKey.Backspace => "{BACKSPACE}", ConsoleKey.Delete => "{DELETE}", ConsoleKey.DownArrow => "{DOWN}", ConsoleKey.End => "{END}", ConsoleKey.Enter => "{ENTER}", ConsoleKey.Escape => "{ESC}", ConsoleKey.Help => "{HELP}", ConsoleKey.Home => "{HOME}", ConsoleKey.Insert => "{INS}", ConsoleKey.LeftArrow => "{LEFT}", ConsoleKey.PageDown => "{PGDN}", ConsoleKey.PageUp => "{PGUP}", ConsoleKey.PrintScreen => "{PRTSC}", ConsoleKey.RightArrow => "{RIGHT}", ConsoleKey.Tab => "{TAB}", ConsoleKey.UpArrow => "{UP}", ConsoleKey.F1 => "{F1}", ConsoleKey.F2 => "{F2}", ConsoleKey.F3 => "{F3}", ConsoleKey.F4 => "{F4}", ConsoleKey.F5 => "{F5}", ConsoleKey.F6 => "{F6}", ConsoleKey.F7 => "{F7}", ConsoleKey.F8 => "{F8}", ConsoleKey.F9 => "{F9}", ConsoleKey.F10 => "{F10}", ConsoleKey.F11 => "{F11}", ConsoleKey.F12 => "{F12}", ConsoleKey.F13 => "{F13}", ConsoleKey.F14 => "{F14}", ConsoleKey.F15 => "{F15}", ConsoleKey.F16 => "{F16}", ConsoleKey.Add => "{ADD}", ConsoleKey.Subtract => "{SUBTRACT}", ConsoleKey.Multiply => "{MULTIPLY}", ConsoleKey.Divide => "{DIVIDE}", _ => key.ToString() }; System.Windows.Forms.SendKeys.SendWait(code); if (WinAPI.GetForegroundWindow() != currentWindow && preserveCurrentWindow) { InputManager.SwitchWindow(currentWindow); } }
public static void Key(ConsoleKey _Key) { Output($"Нажмите клавишу {_Key.ToString()}...", ConsoleColor.Green); ConsoleKeyInfo _keyInfo = new ConsoleKeyInfo(); while (_keyInfo.Key != _Key) { _keyInfo = Console.ReadKey(); } Console.ResetColor(); }
/// <summary> /// Forms a display string of <see cref="ConsoleKey"/> /// </summary> internal static string ToPopupMenuString(this ConsoleKey key) { switch (key) { case ConsoleKey.D0: case ConsoleKey.D1: case ConsoleKey.D2: case ConsoleKey.D3: case ConsoleKey.D4: case ConsoleKey.D5: case ConsoleKey.D6: case ConsoleKey.D7: case ConsoleKey.D8: case ConsoleKey.D9: return(key.ToString().Last().ToString()); default: return(key.ToString()); } }
public static bool CheckKey(ConsoleKey yesKey, ConsoleKey noKey) { while (true) { if (Console.KeyAvailable) { ConsoleKeyInfo info = Console.ReadKey(true); if (info.Key == yesKey) { return true; } else if (info.Key == noKey) { return false; } else { Console.WriteLine("Key not reconized. Press {0} for Yes or {1} for No", yesKey.ToString(), noKey.ToString()); } } } }
static void HandleKeyPress(object sender, ConsoleKey key) { Console.Clear(); Console.WriteLine("You pressed {0}.", key.ToString()); }
public static string GetKeyChar(ConsoleKey key) { switch(key) { // Alphabet. case ConsoleKey.A: return ShiftPressed || CapsLockOn ? "A" : "a"; case ConsoleKey.B: return ShiftPressed || CapsLockOn ? "B" : "b"; case ConsoleKey.C: return ShiftPressed || CapsLockOn ? "C" : "c"; case ConsoleKey.D: return ShiftPressed || CapsLockOn ? "D" : "d"; case ConsoleKey.E: return ShiftPressed || CapsLockOn ? "E" : "e"; case ConsoleKey.F: return ShiftPressed || CapsLockOn ? "F" : "f"; case ConsoleKey.G: return ShiftPressed || CapsLockOn ? "G" : "g"; case ConsoleKey.H: return ShiftPressed || CapsLockOn ? "H" : "h"; case ConsoleKey.I: return ShiftPressed || CapsLockOn ? "I" : "i"; case ConsoleKey.J: return ShiftPressed || CapsLockOn ? "J" : "j"; case ConsoleKey.K: return ShiftPressed || CapsLockOn ? "K" : "k"; case ConsoleKey.L: return ShiftPressed || CapsLockOn ? "L" : "l"; case ConsoleKey.M: return ShiftPressed || CapsLockOn ? "M" : "m"; case ConsoleKey.N: return ShiftPressed || CapsLockOn ? "N" : "n"; case ConsoleKey.O: return ShiftPressed || CapsLockOn ? "O" : "o"; case ConsoleKey.P: return ShiftPressed || CapsLockOn ? "P" : "p"; case ConsoleKey.Q: return ShiftPressed || CapsLockOn ? "Q" : "q"; case ConsoleKey.R: return ShiftPressed || CapsLockOn ? "R" : "r"; case ConsoleKey.S: return ShiftPressed || CapsLockOn ? "S" : "s"; case ConsoleKey.T: return ShiftPressed || CapsLockOn ? "T" : "t"; case ConsoleKey.U: return ShiftPressed || CapsLockOn ? "U" : "u"; case ConsoleKey.V: return ShiftPressed || CapsLockOn ? "V" : "v"; case ConsoleKey.W: return ShiftPressed || CapsLockOn ? "W" : "w"; case ConsoleKey.X: return ShiftPressed || CapsLockOn ? "X" : "x"; case ConsoleKey.Y: return ShiftPressed || CapsLockOn ? "Y" : "y"; case ConsoleKey.Z: return ShiftPressed || CapsLockOn ? "Z" : "z"; // Numpad keys case ConsoleKey.NumPad0: return "0"; case ConsoleKey.NumPad1: return "1"; case ConsoleKey.NumPad2: return "2"; case ConsoleKey.NumPad3: return "3"; case ConsoleKey.NumPad4: return "4"; case ConsoleKey.NumPad5: return "5"; case ConsoleKey.NumPad6: return "6"; case ConsoleKey.NumPad7: return "7"; case ConsoleKey.NumPad8: return "8"; case ConsoleKey.NumPad9: return "9"; // Keys below F1-F8. case ConsoleKey.D0: return ShiftPressed ? "=" : "0"; case ConsoleKey.D1: return ShiftPressed ? "!" : "1"; case ConsoleKey.D2: return ShiftPressed ? "\"" : "2"; case ConsoleKey.D3: return ShiftPressed ? "#" : "3"; case ConsoleKey.D4: return ShiftPressed ? "¤" : "4"; case ConsoleKey.D5: return ShiftPressed ? "%" : "5"; case ConsoleKey.D6: return ShiftPressed ? "&" : "6"; case ConsoleKey.D7: return ShiftPressed ? "/" : "7"; case ConsoleKey.D8: return ShiftPressed ? "(" : "8"; case ConsoleKey.D9: return ShiftPressed ? ")" : "9"; // Special characters. case ConsoleKey.Spacebar: return " "; case ConsoleKey.Tab: return "\t"; case ConsoleKey.Backspace: return "\b"; case ConsoleKey.Enter: return "\n"; case ConsoleKey.Multiply: return "*"; case ConsoleKey.Add: return ShiftPressed ? "?" : "+"; case ConsoleKey.Subtract: return "-"; // Oem keys case ConsoleKey.OemComma: return ShiftPressed ? ";" : ","; case ConsoleKey.OemPeriod: return ShiftPressed ? ":" : "."; case ConsoleKey.OemMinus: return ShiftPressed ? "_" : "-"; case ConsoleKey.OemPlus: return ShiftPressed ? "?" : "+"; case ConsoleKey.Oem4: return ShiftPressed ? "`" : "´"; case ConsoleKey.Oem5: return ShiftPressed ? "½" : "§"; case ConsoleKey.Oem102: return ShiftPressed ? ">" : "<"; } return key.ToString(); }
public HotkeyBarItem(ConsoleKey key, string name, HotkeyEvent handler, int gridPosition) : this(key, key.ToString(), name, handler, gridPosition) { }
private void SmartRead(ConsoleKey key) { string msg = ""; this.Caps = 0; var WriteThread = new Thread(new ThreadStart(() => { lock (this) { var test = ((Keyboard.GetKeyStates(Key.LeftShift) == KeyStates.Down || Keyboard.GetKeyStates(Key.RightShift) == KeyStates.Down || Keyboard.GetKeyStates(Key.CapsLock) == KeyStates.Toggled)); this.Caps = test ? 1 : 2; } })); WriteThread.SetApartmentState(ApartmentState.STA); WriteThread.Start(); while (Caps == 0) { } switch (key) { case ConsoleKey.Add: break; case ConsoleKey.Backspace: RemoveLastChar(); return; case ConsoleKey.Delete: break; case ConsoleKey.Enter: break; case ConsoleKey.PageDown: break; case ConsoleKey.PageUp: break; case ConsoleKey.LeftArrow: MoveLeft(); return; case ConsoleKey.RightArrow: MoveRight(); return; case ConsoleKey.Multiply: msg = "*"; break; case ConsoleKey.D1: if (Caps == 1) msg = "!"; else if (Caps == 2) msg = "1"; break; case ConsoleKey.D2: if (Caps == 1) msg = "\""; else if (Caps == 2) msg = "2"; break; case ConsoleKey.D3: if (Caps == 1) msg = "£"; else if (Caps == 2) msg = "3"; break; case ConsoleKey.D4: if (Caps == 1) msg = "$"; else if (Caps == 2) msg = "4"; break; case ConsoleKey.D5: if (Caps == 1) msg = "%"; else if (Caps == 2) msg = "5"; break; case ConsoleKey.D6: if (Caps == 1) msg = "^"; else if (Caps == 2) msg = "6"; break; case ConsoleKey.D7: if (Caps == 1) msg = "&"; else if (Caps == 2) msg = "7"; break; case ConsoleKey.D8: if (Caps == 1) msg = "*"; else if (Caps == 2) msg = "8"; break; case ConsoleKey.D9: if (Caps == 1) msg = "("; else if (Caps == 2) msg = "9"; break; case ConsoleKey.D0: if (Caps == 1) msg = ")"; else if (Caps == 2) msg = "0"; break; case ConsoleKey.Subtract: msg = "-"; break; case ConsoleKey.Divide: msg = "/"; break; case ConsoleKey.Oem8: if (Caps == 1) msg = "¬"; else if (Caps == 2) msg = "`"; break; case ConsoleKey.OemMinus: if (Caps == 1) msg = "_"; else if (Caps == 2) msg = "-"; break; case ConsoleKey.OemPlus: if (Caps == 1) msg = "+"; else if (Caps == 2) msg = "="; break; default: msg = key.ToString(); break; } SmartWrite(BufferLocation++, ConsoleHeight - 1, this.Caps == 1 ? msg : msg.ToLower()); }
/// <summary> /// 取按键的显示内容 /// </summary> public static string GetShortCutKeyDisplay(ConsoleKey ck) { var s = ck.ToString(); if (s.Length == 2 && s[0] == 'D') s = s[1].ToString(); //处理 D1 D2 ... 的问题 //陆续添加中 return s; }
public HotkeyBarItem(ConsoleKey key, string name, HotkeyEvent handler) : this(key, key.ToString(), name, handler) { }