| arkadaşlar merhaba. ben yön tuşlarıyla kontrol sağlamak istiyorum. programımda mouse up ve mouse down olaylarını kullanıyorum. eğer yukarı tuşuna basılırsa, programın button1_MouseDown fonksiyonuna gitmesini istiyorum. benzer şekilde aşağı yukarı sağ ve sol olarakta ekliyeceğim. burada if (keyData == Keys.Up) 'in altına button1_MouseDown (object sender, MouseEventArgs e); yazdığımda parantez içindeki "object sender, MouseEventArgs e" ifadeleri için hata veriyor. bu hatayı anlayamadığım için fonksiyona yönlendirmeden hemen if in altında çözmek istedim. bu seferde klavyeden hiçbir tuşa basılmadığında bir işlem yaptırmak istediğimde "if (keyData == ?? )" ? işareti yerine ne yazmam gerektiğini bulamadım. her iki sorumdan birine çözüm bulsam diğer çözüme ihtiyacım kalmayacak. yardımlarınız için teşekkür ederim. protected override bool ProcessDialogKey(Keys keyData) { if (keyData == Keys.Up) { button1_MouseDown (object sender, MouseEventArgs e); return false; } if (keyData == Keys.Left) { button2_MouseDown (object sender, MouseEventArgs e); return false; } if (keyData == Keys.Down) { button3_MouseDown (object sender, MouseEventArgs e); return false; } if (keyData == Keys.Right) { button4_MouseDown (object sender, MouseEventArgs e); return false; } return base.ProcessDialogKey(keyData); } |
C# yön tuşları
Cevaplar
Selamlar,
button1_MouseDown (object sender, MouseEventArgs e);
kısmını
button1_MouseDown (null, null);
olarak denermisin. Muhtemelen sorunun çözülecektir. Diğer event' lar içinde aynı işlem geçerli.
Başarılar.
button1_MouseDown (object sender, MouseEventArgs e);
kısmını
button1_MouseDown (null, null);
olarak denermisin. Muhtemelen sorunun çözülecektir. Diğer event' lar içinde aynı işlem geçerli.
Başarılar.
cevabınız için çok teşekkür ederim. hocam dediğiniz kod doğru ama bu seferde o fonksiyona gittiğinde o fonksiyondan çıkamıyor. en iyisi şunu sormak:
hani if (keyData == Keys.Up) veya if (keyData == Keys.Down) falan diye yazıyoruz ya eğer hiçbir tuşa basılmazsa şunu yap diye nasıl yazabilirim ?
hani if (keyData == Keys.Up) veya if (keyData == Keys.Down) falan diye yazıyoruz ya eğer hiçbir tuşa basılmazsa şunu yap diye nasıl yazabilirim ?
if keydata==null ?
yok hocam o işe yaramıyor denedim.
switch case default yapısı bunun ıcın sanırım. belki kullanabilirsin.
switch case ile tuşları kontrol eder, default'a haricinde yapılcak işlemi atarsın.
switch case ile tuşları kontrol eder, default'a haricinde yapılcak işlemi atarsın.