Csharp/C Sharp by API/System/ConsoleKeyInfo
ConsoleKeyInfo.Key
<source lang="csharp"> using System; using System.Collections.Generic; class MainClass {
public static void Main() { ConsoleKeyInfo key; List<char> input = new List<char>(); do{ key = Console.ReadKey(true); if (key.Key == ConsoleKey.F1) { Console.WriteLine("F1"); } if (key.Key == ConsoleKey.Backspace) { if (input.Count > 0) { input.RemoveAt(input.Count - 1); Console.Write(key.KeyChar); } }else if (key.Key == ConsoleKey.Escape){ Console.Clear(); Console.WriteLine("Input: {0}\n\n",new String(input.ToArray())); input.Clear(); }else if (key.Key >= ConsoleKey.A && key.Key <= ConsoleKey.Z){ input.Add(key.KeyChar); Console.Write(key.KeyChar); } } while (key.Key != ConsoleKey.X || key.Modifiers != ConsoleModifiers.Alt); }
}
</source>
ConsoleKeyInfo.KeyChar
<source lang="csharp">
using System;
class MainClass {
public static void Main() { ConsoleKeyInfo keypress; Console.WriteLine("Enter keystrokes. Enter Q to stop."); do { keypress = Console.ReadKey(); // read keystrokes Console.WriteLine(" Your key is: " + keypress.KeyChar); // Check for modifier keys. if((ConsoleModifiers.Alt & keypress.Modifiers) != 0) Console.WriteLine("Alt key pressed."); if((ConsoleModifiers.Control & keypress.Modifiers) != 0) Console.WriteLine("Control key pressed."); if((ConsoleModifiers.Shift & keypress.Modifiers) != 0) Console.WriteLine("Shift key pressed."); } while(keypress.KeyChar != "Q"); }
}
</source>
ConsoleKeyInfo.Modifiers
<source lang="csharp"> using System; using System.Collections.Generic; class MainClass {
public static void Main() { ConsoleKeyInfo key; List<char> input = new List<char>(); do{ key = Console.ReadKey(true); if (key.Key == ConsoleKey.F1) { Console.WriteLine("F1"); } if (key.Key == ConsoleKey.Backspace) { if (input.Count > 0) { input.RemoveAt(input.Count - 1); Console.Write(key.KeyChar); } }else if (key.Key == ConsoleKey.Escape){ Console.Clear(); Console.WriteLine("Input: {0}\n\n",new String(input.ToArray())); input.Clear(); }else if (key.Key >= ConsoleKey.A && key.Key <= ConsoleKey.Z){ input.Add(key.KeyChar); Console.Write(key.KeyChar); } } while (key.Key != ConsoleKey.X || key.Modifiers != ConsoleModifiers.Alt); }
}
</source>