Csharp/CSharp Tutorial/Development/ConsoleKey

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

Read keystrokes from the console by using ReadKey()

<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>

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

<source lang="csharp">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);
   }

}</source>

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