Auf Englisch lesen

Freigeben über


ConsoleSpecialKey Enumeration

Definition

Gibt Kombinationen von Modifizierer- und Konsolentasten an, mit denen der derzeit ausgeführte Prozess unterbrochen werden kann.

C#
public enum ConsoleSpecialKey
C#
[System.Serializable]
public enum ConsoleSpecialKey
Vererbung
ConsoleSpecialKey
Attribute

Felder

Name Wert Beschreibung
ControlBreak 1

Die Modifizierertaste Control und die Konsolentaste UNTBR.

ControlC 0

Die Modifizierertaste Control und die Konsolentaste C.

Beispiele

Im folgenden Codebeispiel wird der ConsoleSpecialKey Wert angezeigt, der den zugeordneten Ereignishandler aufruft.

C#
using System;

class Sample
{
    public static void Main()
    {
        ConsoleKeyInfo cki;

        Console.Clear();

        // Establish an event handler to process key press events.
        Console.CancelKeyPress += new ConsoleCancelEventHandler(myHandler);
        while (true)
        {
            Console.Write("Press any key, or 'X' to quit, or ");
            Console.WriteLine("CTRL+C to interrupt the read operation:");

            // Start a console read operation. Do not display the input.
            cki = Console.ReadKey(true);

            // Announce the name of the key that was pressed .
            Console.WriteLine($"  Key pressed: {cki.Key}\n");

            // Exit if the user pressed the 'X' key.
            if (cki.Key == ConsoleKey.X) break;
        }
    }

    protected static void myHandler(object sender, ConsoleCancelEventArgs args)
    {
        Console.WriteLine("\nThe read operation has been interrupted.");

        Console.WriteLine($"  Key pressed: {args.SpecialKey}");

        Console.WriteLine($"  Cancel property: {args.Cancel}");

        // Set the Cancel property to true to prevent the process from terminating.
        Console.WriteLine("Setting the Cancel property to true...");
        args.Cancel = true;

        // Announce the new value of the Cancel property.
        Console.WriteLine($"  Cancel property: {args.Cancel}");
        Console.WriteLine("The read operation will resume...\n");
    }
}
// The example displays output similar to the following:
//    Press any key, or 'X' to quit, or CTRL+C to interrupt the read operation:
//      Key pressed: J
//
//    Press any key, or 'X' to quit, or CTRL+C to interrupt the read operation:
//      Key pressed: Enter
//
//    Press any key, or 'X' to quit, or CTRL+C to interrupt the read operation:
//
//    The read operation has been interrupted.
//      Key pressed: ControlC
//      Cancel property: False
//    Setting the Cancel property to true...
//      Cancel property: True
//    The read operation will resume...
//
//      Key pressed: Q
//
//    Press any key, or 'X' to quit, or CTRL+C to interrupt the read operation:
//      Key pressed: X

Hinweise

Die ConsoleCancelEventArgs.SpecialKey -Eigenschaft gibt den Enumerationstyp ConsoleSpecialKey zurück.

Das gleichzeitige Drücken bestimmter Tastenkombinationen signalisiert dem Betriebssystem, den aktuell ausgeführten Prozess zu unterbrechen. Die beiden gültigen Tastenkombinationen sind ConsoleModifiers.Control plus BREAK (STRG+BREAK) und ConsoleModifiers.Control plus ConsoleKey.C (STRG+C).

Gilt für:

Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

Weitere Informationen