C# Key Event Kullanımı – Klavyeden Basılan Tuşu Yakalama

Merhaba arkadaşlar bugün sizlere C# programlama dili ile Klavyeden bastığınız tuşların ne olduğunu görmenize yarayan 2 adet fonksiyon paylaşacağım.
Birinci fonksiyonda klavyeden basılan normal tuşları gösteren ve bunun yanında spesifik olarak Enter ve Esc tuşarını tanıyan iki adet if döngüsü yazdım. Sizlerde bu ifleri devam ettirebilirsiniz. Örneğin Sol Shift tuşunu LShift olarak tanıtabilirsiniz.
Yazdığımız Key_Press fonksiyonu klavyedeki alfabetik tuşları tanıyor else bölümünde “label1.Text = (e.KeyChar.ToString());” klavyeden bastığımız her harf ve sayı karakter olarak geldiğinden e.KeyChar kullanabiliyoruz. Ama Enter,Space,Esc.. gibi tuşlar karakter olmadığı için bunları “(char)Keys.TusAdi” şekilde yazıp “e.KeyChar”‘a eşitlediğimizde yakalayabiliyoruz.
İkinci fonksiyon Key_Press_Up bu fonksiyonun amacı ise yön tuşlarını anlamaktır. Aynı şekilde yön tuşlarıda bize Char değer göndermediğinden “Keys.Tusadi” şeklinde yakalamamız gerekiyor. Tabiki bunu if döngüsünde eşitlerkende e.KeyCode kullanmalıyız.

Ben örnek olarak Form’a bir tane label ekledim. Bastığım tuşarıda labelde gösteriyorum.

c sharp key press event example

 

        private void Key_Press(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)Keys.Enter)
            {
                label1.Text = ("Enter");

            }
            else if (e.KeyChar == (char)Keys.Escape)
            {
                label1.Text = ("Escape");
            }
            else if (e.KeyChar == (char)Keys.Space)
            {
                label1.Text = ("Space");
            }
            else // Standart keys...(qwert..)
            {
              //MessageBox.Show(e.KeyChar.ToString());
                label1.Text = (e.KeyChar.ToString());
            }

        }
        private void Key_Press_Up(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Down || e.KeyCode == Keys.Up || e.KeyCode == Keys.Left || e.KeyCode == Keys.Right)
            {
                label1.Text = (e.KeyCode.ToString());
            }
        }

Son olarak bu fonksiyonları ekledikten sonra formun Event bölümünden KeyPress eventine 1. fonksiyonumuzu KeyUp ve KeyDown eventlerinede 2. fonksiyonumuzu tanıtırsak bütün ayarlar bitecektir.

csharp key press event

 

Emre Bektaş

Computer Engineer C# / Java Developer

You may also like...

1 Response

  1. Orkun says:

    Teşekkür ederim Emre Bey 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *