ConsoleKeyInfo Struktura

Definicja

Opisuje naciśnięty klawisz konsoli, w tym znak reprezentowany przez klucz konsoli i stan klawiszy modyfikujących SHIFT, ALT i CTRL.Describes the console key that was pressed, including the character represented by the console key and the state of the SHIFT, ALT, and CTRL modifier keys.

public value class ConsoleKeyInfo
[System.Serializable]
public struct ConsoleKeyInfo
type ConsoleKeyInfo = struct
Public Structure ConsoleKeyInfo
Dziedziczenie
ConsoleKeyInfo
Atrybuty

Przykłady

Poniższy przykład demonstruje użycie obiektu ConsoleKeyInfo w operacji odczytu.The following example demonstrates using a ConsoleKeyInfo object in a read operation.

using namespace System;

void main()
{
   ConsoleKeyInfo cki;
   // Prevent example from ending if CTL+C is pressed.
   Console::TreatControlCAsInput = true;

   Console::WriteLine("Press any combination of CTL, ALT, and SHIFT, and a console key.");
   Console::WriteLine("Press the Escape (Esc) key to quit: \n");
   do 
   {
      cki = Console::ReadKey();
      Console::Write(" --- You pressed ");
      if((cki.Modifiers & ConsoleModifiers::Alt) != ConsoleModifiers()) Console::Write("ALT+");
      if((cki.Modifiers & ConsoleModifiers::Shift) != ConsoleModifiers()) Console::Write("SHIFT+");
      if((cki.Modifiers & ConsoleModifiers::Control) != ConsoleModifiers()) Console::Write("CTL+");
      Console::WriteLine(cki.Key.ToString());
   } while (cki.Key != ConsoleKey::Escape);
}
// This example displays output similar to the following:
//       Press any combination of CTL, ALT, and SHIFT, and a console key.
//       Press the Escape (Esc) key to quit:
//       
//       a --- You pressed A 
//       k --- You pressed ALT+K 
//       ► --- You pressed CTL+P 
//         --- You pressed RightArrow 
//       R --- You pressed SHIFT+R 
//                --- You pressed CTL+I 
//       j --- You pressed ALT+J 
//       O --- You pressed SHIFT+O 
//       § --- You pressed CTL+U }
using System;

class Example 
{
   public static void Main() 
   {
      ConsoleKeyInfo cki;
      // Prevent example from ending if CTL+C is pressed.
      Console.TreatControlCAsInput = true;

      Console.WriteLine("Press any combination of CTL, ALT, and SHIFT, and a console key.");
      Console.WriteLine("Press the Escape (Esc) key to quit: \n");
      do 
      {
         cki = Console.ReadKey();
         Console.Write(" --- You pressed ");
         if((cki.Modifiers & ConsoleModifiers.Alt) != 0) Console.Write("ALT+");
         if((cki.Modifiers & ConsoleModifiers.Shift) != 0) Console.Write("SHIFT+");
         if((cki.Modifiers & ConsoleModifiers.Control) != 0) Console.Write("CTL+");
         Console.WriteLine(cki.Key.ToString());
       } while (cki.Key != ConsoleKey.Escape);
    }
}
// This example displays output similar to the following:
//       Press any combination of CTL, ALT, and SHIFT, and a console key.
//       Press the Escape (Esc) key to quit:
//       
//       a --- You pressed A 
//       k --- You pressed ALT+K 
//       ► --- You pressed CTL+P 
//         --- You pressed RightArrow 
//       R --- You pressed SHIFT+R 
//                --- You pressed CTL+I 
//       j --- You pressed ALT+J 
//       O --- You pressed SHIFT+O 
//       § --- You pressed CTL+U 
Class Example
   Public Shared Sub Main()
      Dim cki As ConsoleKeyInfo
      ' Prevent example from ending if CTL+C is pressed.
      Console.TreatControlCAsInput = True

      Console.WriteLine("Press any combination of CTL, ALT, and SHIFT, and a console key.")
      Console.WriteLine("Press the Escape (Esc) key to quit: " + vbCrLf)
      Do
         cki = Console.ReadKey()
         Console.Write(" --- You pressed ")
         If (cki.Modifiers And ConsoleModifiers.Alt) <> 0 Then Console.Write("ALT+")
         If (cki.Modifiers And ConsoleModifiers.Shift) <> 0 Then Console.Write("SHIFT+")
         If (cki.Modifiers And ConsoleModifiers.Control) <> 0 Then Console.Write("CTL+")
         Console.WriteLine(cki.Key.ToString)
      Loop While cki.Key <> ConsoleKey.Escape
   End Sub 
End Class 
' This example displays output similar to the following:
'       Press any combination of CTL, ALT, and SHIFT, and a console key.
'       Press the Escape (Esc) key to quit:
'       
'       a --- You pressed A 
'       k --- You pressed ALT+K 
'       ► --- You pressed CTL+P 
'         --- You pressed RightArrow 
'       R --- You pressed SHIFT+R 
'                --- You pressed CTL+I 
'       j --- You pressed ALT+J 
'       O --- You pressed SHIFT+O 
'       § --- You pressed CTL+U 

Uwagi

Typ ConsoleKeyInfo nie jest przeznaczony do tworzenia przez użytkowników.The ConsoleKeyInfo type is not intended to be created by users. Zamiast tego jest zwracany do użytkownika w odpowiedzi na wywołanie metody Console.ReadKey.Instead, it is returned to the user in response to calling the Console.ReadKey method.

Obiekt ConsoleKeyInfo opisuje stałą ConsoleKey i znak Unicode, jeśli istnieje, odpowiadający klawiszowi konsoli naciśniętej.The ConsoleKeyInfo object describes the ConsoleKey constant and Unicode character, if any, that correspond to the pressed console key. Obiekt ConsoleKeyInfo opisuje również w bitowej kombinacji wartości ConsoleModifiers, niezależnie od tego, czy jeden lub więcej klawiszy modyfikujących SHIFT, ALT lub CTRL został nacionięty jednocześnie z klawiszem konsoli.The ConsoleKeyInfo object also describes, in a bitwise combination of ConsoleModifiers values, whether one or more SHIFT, ALT, or CTRL modifier keys was pressed simultaneously with the console key.

Konstruktory

ConsoleKeyInfo(Char, ConsoleKey, Boolean, Boolean, Boolean)

Inicjuje nowe wystąpienie struktury ConsoleKeyInfo przy użyciu określonego znaku, klucza konsoli i klawiszy modyfikujących.Initializes a new instance of the ConsoleKeyInfo structure using the specified character, console key, and modifier keys.

Właściwości

Key

Pobiera klucz konsoli reprezentowany przez bieżący obiekt ConsoleKeyInfo.Gets the console key represented by the current ConsoleKeyInfo object.

KeyChar

Pobiera znak Unicode reprezentowany przez bieżący obiekt ConsoleKeyInfo.Gets the Unicode character represented by the current ConsoleKeyInfo object.

Modifiers

Pobiera bitową kombinację wartości ConsoleModifiers, które określają, że jeden lub więcej klawiszy modyfikujących naciśnięto jednocześnie z klawiszem konsoli.Gets a bitwise combination of ConsoleModifiers values that specifies one or more modifier keys pressed simultaneously with the console key.

Metody

Equals(ConsoleKeyInfo)

Pobiera wartość wskazującą, czy określony ConsoleKeyInfo obiekt jest równy bieżącemu obiektowi ConsoleKeyInfo.Gets a value indicating whether the specified ConsoleKeyInfo object is equal to the current ConsoleKeyInfo object.

Equals(Object)

Pobiera wartość wskazującą, czy określony obiekt jest równy bieżącemu obiektowi ConsoleKeyInfo.Gets a value indicating whether the specified object is equal to the current ConsoleKeyInfo object.

GetHashCode()

Zwraca kod skrótu dla bieżącego obiektu ConsoleKeyInfo.Returns the hash code for the current ConsoleKeyInfo object.

Operatory

Equality(ConsoleKeyInfo, ConsoleKeyInfo)

Wskazuje, czy określone obiekty ConsoleKeyInfo są równe.Indicates whether the specified ConsoleKeyInfo objects are equal.

Inequality(ConsoleKeyInfo, ConsoleKeyInfo)

Wskazuje, czy określone obiekty ConsoleKeyInfo nie są równe.Indicates whether the specified ConsoleKeyInfo objects are not equal.

Dotyczy

Zobacz też