merhaba ilk kez c# öğreniyrom basılan bir tuşun kodunu nasıl değiştire bilirim
if (e.KeyCode.ToString() == "Subtract")
{
button3_Click(sender, new EventArgs());
}
burada basılan tuşun basılmamış olmasını sağlamak için ne yapablirim.
yani burada - ye bastığımda ekranda - çıkmasın istiyorum
c# de basılan tuşun kodunu değiştirme
4
●1.604
- 22-07-2013, 23:59:03hangi kontrolün üzerinde tuş basımı yapılıyorsa o kontrolü seç, sağ tıklayıp özelliklere gel, oradan events(olaylar)a tıkla ve o seçeneklerden keypress çift tıkla.
açılan kısıma
e.Handled = true; yazarsan o tuş basmaz.
bir örnek yazarsam, textbox1 isimli metin kutusuna - yazılmaya çalışıldığında tuş iptal edilir. bir de sanırım sen button3 ün click olayını çağırmışsın onu da yazdım
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '-') // basılan tuş - ise aşağıdaki işlemleri yap.. { e.Handled = true; // basılan tuşu iptal eder button3.PerformClick(); // buton3 ün click olayı çalışır } }bu kodu direk kopyalayıp yaparsan çalışmaz, çünkü bu eventi o kontrolün keypress eventine register etmen gerekiyor. o yüzden en başta anlattığım şekilde keypress olayını açar ve yukarıdaki kodda if den itibaren alırsan çalışır (son süslü parantez fonksiyonun parantezi olduğu için almayacaksın) - 23-07-2013, 00:49:22teşekkür ederim hocam bu şekilde oldu,bi iki sorum var
1.si (e.KeyChar == '-') yaptığımız yerde ' işareti yerine " işareti kullanınca hata veriyor.bunların farkı ne
2.side (e.KeyChar == '-') enter tuşunun basılıp basılmadığını nasıl test edeceğiz
ertan2002 adlı üyeden alıntı: mesajı görüntüle - 23-07-2013, 01:11:421- hata vermesinin sebebi keychar karkter türünden yani tek bir karakter alır. çift tırnaklı ifade ise birden fazla karakter içerebilir o yüzden olmaz. ama illa yapmak istiyorsan
(e.KeyChar.ToString() == "-") şekline yapbilirsin
2- enter için de şunları deneyebilirsin
if (e.KeyChar == (char)Keys.Enter)
ya da
if (e.KeyChar == '\r')
ya da
if (e.KeyChar == 13)
13, enter ın asci karşılığıdır. r ise enter anlamınadır. özel olduğunu belirtme için r nin önünde slash var - 23-07-2013, 01:18:04==13 yapınca oldu hocam teşekkür ederim.\n denemiştimde bu \r demi varmış
.
sağ olsun hocam c# de hesap makinası yaparak başlıyoruz Allah'ın izni ile.ama visual basic tadı yok gibi bunda çok komplike bi dil gibi
ertan2002 adlı üyeden alıntı: mesajı görüntüle
.