ConsoleKeyInfo Yapı

Tanım

Konsol tuşunun temsil ettiği karakter ve SHIFT, ALT ve CTRL değiştirici tuşlarının durumu da dahil olmak üzere basılan konsol tuşunu açıklar.

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
Devralma
ConsoleKeyInfo
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki örnekte, okuma işleminde nesne ConsoleKeyInfo kullanımı gösterilmektedir.

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

Açıklamalar

Türün ConsoleKeyInfo kullanıcılar tarafından oluşturulması amaçlanmamıştır. Bunun yerine, yöntemini çağırmaya Console.ReadKey yanıt olarak kullanıcıya döndürülür.

ConsoleKeyInfo nesnesi, basılan konsol tuşuna karşılık gelen sabiti ve varsa Unicode karakterini açıklarConsoleKey. Nesne ConsoleKeyInfo , bir veya daha fazla SHIFT, ALT veya CTRL değiştirici tuşlarına konsol tuşuyla aynı anda basılıp basılmadığını bit düzeyinde bir değer bileşiminde ConsoleModifiers de açıklar.

Oluşturucular

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

Belirtilen karakter, konsol anahtarı ve değiştirici tuşları kullanarak yapının yeni bir örneğini ConsoleKeyInfo başlatır.

Özellikler

Key

Geçerli ConsoleKeyInfo nesne tarafından temsil edilen konsol anahtarını alır.

KeyChar

Geçerli ConsoleKeyInfo nesne tarafından temsil edilen Unicode karakterini alır.

Modifiers

Konsol tuşuyla aynı anda basılan bir veya daha fazla değiştirici tuş belirten değerlerin bit düzeyinde birleşimini ConsoleModifiers alır.

Yöntemler

Equals(ConsoleKeyInfo)

Belirtilen ConsoleKeyInfo nesnenin geçerli ConsoleKeyInfo nesneye eşit olup olmadığını belirten bir değer alır.

Equals(Object)

Belirtilen nesnenin geçerli ConsoleKeyInfo nesneye eşit olup olmadığını belirten bir değer alır.

GetHashCode()

Geçerli ConsoleKeyInfo nesnenin karma kodunu döndürür.

İşleçler

Equality(ConsoleKeyInfo, ConsoleKeyInfo)

Belirtilen ConsoleKeyInfo nesnelerin eşit olup olmadığını gösterir.

Inequality(ConsoleKeyInfo, ConsoleKeyInfo)

Belirtilen ConsoleKeyInfo nesnelerin eşit olup olmadığını gösterir.

Şunlara uygulanır

Ayrıca bkz.