• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

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

Üyelik Tarihi
7 Ocak 2015
Konular
4,091
Mesajlar
4,274
MFC Puanı
40
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