Formumun herhangi bir yerinde girilen tuş vuruşlarını nasıl yakalayabilir ve bunu gönder düğmesi etkinliğini tetiklemeye zorlayabilirim?
Formumun herhangi bir yerinde girilen tuş vuruşlarını nasıl yakalayabilir ve bunu gönder düğmesi etkinliğini tetiklemeye zorlayabilirim?
Yanıtlar:
Eğer ayarlarsanız Form'in AcceptButtonbirine özelliği Buttonüzerinde s Form, varsayılan olarak o davranışı alırsınız.
Aksi takdirde, KeyPreviewözelliği trueon olarak ayarlayın Formve KeyDownolayını işleyin. EnterAnahtarı kontrol edebilir ve gerekli işlemi yapabilirsiniz.
Form özelliklerinde bir düğmeyi "AcceptButton" olarak atayabilirsiniz ve bu, formdaki tüm "Enter" tuşlarına basıp bunları bu denetime yönlendirir.
Bkz. Nasıl Yapılır: Tasarımcıyı Kullanarak Kabul Et Düğmesi olarak bir Windows Form Düğmesi Atama ve ana hatlarını çizdiği birkaç istisnayı (çok satırlı metin kutuları, vb.)
Daha önce belirtildiği gibi, formun ayarlamak AcceptButton düğmelerinin birine özelliğini VE ayarlamak DialogResult o düğme için özellik DialogResult.OK iletişim kabul veya görevden alındı olmadığını bilmek arayan için sırayla.
KeyUpEtkinliğine abone olabilirsiniz TextBox.
private void txtInput_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
DoSomething();
}
Form, tuşa basmayı engellemek için kullanabileceğiniz bir KeyPreview özelliğine sahiptir.
Basitçe kullan
this.Form.DefaultButton = MyButton.UniqueID;
** Düğme kimliğinizi "MyButton" yerine koyun.