ConsoleKeyInfo Struktur

Definition

Beschreibt die Konsolentaste, die gedrückt wurde, einschließlich des Zeichens, das durch die Konsolentaste und den Zustand der UMSCHALT-, ALT- und STRG-Modifizierertasten dargestellt wird.

public value class ConsoleKeyInfo : IEquatable<ConsoleKeyInfo>
public value class ConsoleKeyInfo
public readonly struct ConsoleKeyInfo : IEquatable<ConsoleKeyInfo>
public struct ConsoleKeyInfo
public readonly struct ConsoleKeyInfo
[System.Serializable]
public struct ConsoleKeyInfo
type ConsoleKeyInfo = struct
[<System.Serializable>]
type ConsoleKeyInfo = struct
Public Structure ConsoleKeyInfo
Implements IEquatable(Of ConsoleKeyInfo)
Public Structure ConsoleKeyInfo
Vererbung
ConsoleKeyInfo
Attribute
Implementiert

Beispiele

Das folgende Beispiel veranschaulicht die Verwendung eines ConsoleKeyInfo Objekts in einem Lesevorgang.

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

// Prevent example from ending if CTL+C is pressed.
Console.TreatControlCAsInput <- true

printfn "Press any combination of CTL, ALT, and SHIFT, and a console key."
printfn "Press the Escape (Esc) key to quit: \n"

let mutable cki = Unchecked.defaultof<ConsoleKeyInfo>

while cki.Key <> ConsoleKey.Escape do
    cki <- Console.ReadKey()
    printf " --- You pressed "
    if int (cki.Modifiers &&& ConsoleModifiers.Alt) <> 0 then printf "ALT+"
    if int (cki.Modifiers &&& ConsoleModifiers.Shift) <> 0 then printf "SHIFT+"
    if int (cki.Modifiers &&& ConsoleModifiers.Control) <> 0 then printf "CTL+"
    printfn $"{cki.Key}"


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

Hinweise

Der ConsoleKeyInfo Typ soll nicht von Benutzern erstellt werden. Stattdessen wird sie als Reaktion auf den Aufruf der Console.ReadKey Methode an den Benutzer zurückgegeben.

Das ConsoleKeyInfo Objekt beschreibt ggf. die Konstante und das ConsoleKey Unicode-Zeichen, die der gedrückten Konsolentaste entsprechen. Das ConsoleKeyInfo Objekt beschreibt auch in einer bitweisen Kombination von ConsoleModifiers Werten, ob eine oder mehrere UMSCHALT-, ALT- oder STRG-Zusatztasten gleichzeitig mit der Konsolentaste gedrückt wurden.

Konstruktoren

Name Beschreibung
ConsoleKeyInfo(Char, ConsoleKey, Boolean, Boolean, Boolean)

Initialisiert eine neue Instanz der ConsoleKeyInfo Struktur mithilfe der angegebenen Zeichen-, Konsolen- und Modifizierertasten.

Eigenschaften

Name Beschreibung
Key

Ruft die Konsolentaste ab, die durch das aktuelle ConsoleKeyInfo Objekt dargestellt wird.

KeyChar

Ruft das Unicode-Zeichen ab, das durch das aktuelle ConsoleKeyInfo Objekt dargestellt wird.

Modifiers

Ruft eine bitweise Kombination von ConsoleModifiers Werten ab, die eine oder mehrere Modifizierertasten angibt, die gleichzeitig mit der Konsolentaste gedrückt werden.

Methoden

Name Beschreibung
Equals(ConsoleKeyInfo)

Ruft einen Wert ab, der angibt, ob das angegebene ConsoleKeyInfo Objekt dem aktuellen ConsoleKeyInfo Objekt entspricht.

Equals(Object)

Ruft einen Wert ab, der angibt, ob das angegebene Objekt dem aktuellen ConsoleKeyInfo Objekt entspricht.

GetHashCode()

Gibt den Hashcode für das aktuelle ConsoleKeyInfo Objekt zurück.

Operatoren

Name Beschreibung
Equality(ConsoleKeyInfo, ConsoleKeyInfo)

Gibt an, ob die angegebenen ConsoleKeyInfo Objekte gleich sind.

Inequality(ConsoleKeyInfo, ConsoleKeyInfo)

Gibt an, ob die angegebenen ConsoleKeyInfo Objekte nicht gleich sind.

Gilt für:

Weitere Informationen