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 = "";
}
}
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 = "";
}
}