Csharp/CSharp Tutorial/Development/ConsoleKey

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Read keystrokes from the console by using ReadKey()

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"); 
  }    
}
Enter keystrokes. Enter Q to stop.
q Your key is: q
w Your key is: w
e Your key is: e
q Your key is: q
w Your key is: w
e Your key is: e
r Your key is: r
e Your key is: e
w Your key is: w
q Your key is: q
Q Your key is: Q
Shift key pressed.

Use ConsoleKey to get input

using System;
using System.Collections.Generic;
class MainClass
{
    public static void Main()
    {
        ConsoleKeyInfo key;
        Console.WriteLine("Process input until the user enters Alt-X or Alt-x");
        
        do
        {
            key = Console.ReadKey(true);
            Console.WriteLine(key);
            if (key.Key == ConsoleKey.F1)
            {
               Console.WriteLine("F1");
            }
            // Handle backspace.
            if (key.Key == ConsoleKey.Backspace)
            {
                Console.WriteLine("Backspace");
            }
            // Handle Escape.
            else if (key.Key == ConsoleKey.Escape)
            {
                Console.WriteLine("Escape");
            }
            // Handle character input.
            else if (key.Key >= ConsoleKey.A && key.Key <= ConsoleKey.Z)
            {
                Console.WriteLine(">=ConsoleKey.A && <= ConsoleKey.Z");
            }
        } while (key.Key != ConsoleKey.X || key.Modifiers != ConsoleModifiers.Alt);
    }
}
Process input until the user enters Alt-X or Alt-x
System.ConsoleKeyInfo
>=ConsoleKey.A && <= ConsoleKey.Z
System.ConsoleKeyInfo
>=ConsoleKey.A && <= ConsoleKey.Z
System.ConsoleKeyInfo
>=ConsoleKey.A && <= ConsoleKey.Z
System.ConsoleKeyInfo
>=ConsoleKey.A && <= ConsoleKey.Z
System.ConsoleKeyInfo
>=ConsoleKey.A && <= ConsoleKey.Z
System.ConsoleKeyInfo
>=ConsoleKey.A && <= ConsoleKey.Z
System.ConsoleKeyInfo
>=ConsoleKey.A && <= ConsoleKey.Z
System.ConsoleKeyInfo
>=ConsoleKey.A && <= ConsoleKey.Z
System.ConsoleKeyInfo
>=ConsoleKey.A && <= ConsoleKey.Z