Programımda, klavyemde "E" yazabilir ve metin kutusuna farklı bir harf olarak atayabilmeyi istiyorum, ör. "F".Uygulamadaki Tuşları Kapatma
Anahtarların gönderilmesinde çatışma olmadan bunu yapmanın en etkili yolu nedir?
private void textBox_KeyDown(object sender, KeyEventArgs e)
{
switch(e.KeyCode)
{
case Keys.E:
e.SuppressKeyPress = true;
SendKeys.Send("F".ToLowerInvariant());
break;
case Keys.F:
e.SuppressKeyPress = true;
SendKeys.Send("E".ToLowerInvariant());
break;
}
}
Yukarıdaki yöntemi kullanmayı denedim ancak çakışmayı sonlandırıyor ve bunun yerine farklı bir harf göndermeyi bitiriyor.
Neden sadece 'key =' T''? –
@ MathiasR.Jessen Şu anda böyle çalışıyor ama set mektubu çıkarmanın bir yolu var mı? Ascii'nin bu sorunu çözeceğini düşündüm. Eğer F yazıyor olsaydım, bunu T olarak kaydeder ama yine de F çıkışını verir. – Jed5931
* Ne * F 'çıktıları tam olarak nedir? Hangi etkinliği kullanıyorsunuz? Anahtar nasıl atayacaksınız? Lütfen [Asgari, Tam ve Doğrulanabilir bir örnek] sağlayın (http://stackoverflow.com/help/mcve) –