İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

C# yön tuşları

smaile18.09.20135 cevap2.988 görüntüleme
2013'den beri3 mesaj
#1
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);
}
Cevaplar
2012'den beri173 mesaj
#2
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.
smaile Konuyu açan
2013'den beri3 mesaj
#3
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 ?
Misafir
#4
if keydata==null ?
smaile Konuyu açan
2013'den beri3 mesaj
#5
yok hocam o işe yaramıyor denedim.
2007'den beri2.589 mesaj
#6
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.

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.