Klavyeden basılan tuşu bulma (ConsoleKeyInfo)

Console.Application‘da bir uygulama oluşturuyor ve kullanıcınızın klavyeden hangi tuşa bastığını öğrenmek istiyorsanız System sınıfındaki ConsoleKeyInfo yapısını kullanabilirsiniz. Kodlarımız şu şekilde:

static void Main(string[] args)
{
     Console.WriteLine("Bir tuşa basınız...");
     System.ConsoleKeyInfo KeyInfo = Console.ReadKey(true);
     Console.WriteLine("\n" + KeyInfo.Key.ToString() + " tuşuna bastınız!..");
     Console.ReadLine();
}

Yazdığımız programın çıktısı ise şöyle olacaktır.

Eğer basılan tuşa göre bir işlem gerçekleştirmek isterseniz, (örn. ESC tuşuna basıldığında uygulamanın kapanması gibi..) basit bir if yapısı ile bunu sağlayabilirsiniz.

if (KeyInfo.Key == ConsoleKey.Escape)
{
     System.Environment.Exit(0);
}

Şimdi buraya kadar bir sorun yok, ancak programımız henüz CTRL, ALT ve SHIFT gibi tuşlara basıldığında bunu gösteremiyor. Bu tuşlara basıldığında da ekranda bir çıktı istiyorsak, aynı yapının Modifiers özelliğinden faydalanabiliriz.

static void Main(string[] args)
{
    // CTRL + C basıldığında geçerli işlemin kesilmemesi için
    Console.TreatControlCAsInput = true;

    Console.WriteLine("Bir tuşa basınız...");
    System.ConsoleKeyInfo KeyInfo = Console.ReadKey(true);

    if ((KeyInfo.Modifiers & ConsoleModifiers.Alt) != 0)
    {
        Console.Write("ALT+");
    }
    if ((KeyInfo.Modifiers & ConsoleModifiers.Control) != 0)
    {
        Console.Write("CTRL+");
    }
    if ((KeyInfo.Modifiers & ConsoleModifiers.Shift) != 0)
    {
        Console.Write("SHIFT+");
    }

    Console.WriteLine(KeyInfo.Key.ToString() + " tuşuna bastınız!..");
    Console.ReadLine();
}

Umarım faydalı olmuştur arkadaşlar, iyi çalışmalar..

👋

👩‍💻 𝕯𝖊𝖛𝖊𝖑𝖔𝖕𝖊𝖗 & 𝕯𝖊𝖘𝖎𝖌𝖓𝖊𝖗 ☕
Yazı oluşturuldu 21

Klavyeden basılan tuşu bulma (ConsoleKeyInfo)” için bir görüş

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Benzer yazılar

Aramak istediğinizi üstte yazmaya başlayın ve aramak için enter tuşuna basın. İptal için ESC tuşuna basın.

Üste dön