Neler yeni
Türkiye'nin En Güncel Forum Sitesi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

C# ile İki veya Daha Fazla Tuşu Yakalama

ByOnur58

Kayıtlı Üye
MFC Üyesi
  • Üyelik Tarihi
    7 Ocak 2015
  • Mesajlar
    2,113
  • MFC Puanı
    10
  • MFC Seviyesi

Bu dersimizde C# kullanarak iki veya daha fazla tuşu yakalamayı öğrenelim.

Formda basılan tuşların 2 tanesini yakalamak için eğer:
Kod:
if (e.KeyCode == Keys.W)
gibi yaparsak iki tuşa sırasıyla bastığımızda programımızda istenilen şeyi yapamayız bunun için Formumuzun KeyUp ve KeyDown eventlerini kullanıyoruz.

Lafı fazla uzatmadan nasıl yapıldığını anlatayım ve örnek kodlarımızı yazalım.

Öncelikle formumuza 1 adet label ekleyelim. Sonra Bool türünde 2 adet değişken tanımlıyoruz. Nedeni ise tuşa basılınca true ile KeyDown eventinde if ile tuşun basıldığını anlamak ve bırakıldığında da KeyUp eventini kullanarak tuşun bırakıldığını anlamak için.

Kod:
bool tus1;
bool tus2;
private **** Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.W)
{
tus1 = true;
}
if (e.KeyCode == Keys.D)
{
tus2 = true;
}
if (tus1 == true && tus2 == true)
{
label1.Text = "s";
}
else if (tus1 == true)
{
label1.Text = "w";
}
else if (tus2 == true)
{
label1.Text = "d";
}
}

private **** Form1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.W)
{
tus1 = false;
}
if (e.KeyCode == Keys.D)
{
tus2 = false;
}
if (tus1 == false && tus2 == false)
{
label1.Text = "";
}
}
 
Üst Alt