Bagaimana cara menangkap penekanan tombol enter di mana saja di formulir saya dan memaksanya untuk mengaktifkan acara tombol kirim?
Bagaimana cara menangkap penekanan tombol enter di mana saja di formulir saya dan memaksanya untuk mengaktifkan acara tombol kirim?
Jawaban:
Jika Anda menetapkan Form
's AcceptButton
properti untuk salah satu Button
s pada Form
, Anda akan mendapatkan bahwa perilaku secara default.
Jika tidak, setel KeyPreview
properti ke true
di Form
dan tangani KeyDown
acaranya. Anda dapat memeriksa Enter
kuncinya dan mengambil tindakan yang diperlukan.
Anda dapat menentukan tombol sebagai "AcceptButton" di properti Formulir dan itu akan menangkap setiap penekanan tombol "Enter" pada formulir dan mengarahkannya ke kontrol itu.
Lihat Cara: Menunjuk Tombol Formulir Windows sebagai Tombol Terima Menggunakan Desainer dan perhatikan beberapa pengecualian yang diuraikannya (kotak teks multi-baris, dll.)
Seperti yang dinyatakan sebelumnya, setel properti AcceptButton formulir Anda ke salah satu tombolnya DAN setel properti DialogResult untuk tombol itu ke DialogResult.OK , agar pemanggil mengetahui apakah dialog diterima atau ditutup.
Anda dapat berlangganan ke KeyUp
acara TextBox
.
private void txtInput_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
DoSomething();
}
Formulir memiliki properti KeyPreview yang dapat Anda gunakan untuk mencegah penekanan tombol.
Cukup gunakan
this.Form.DefaultButton = MyButton.UniqueID;
** Letakkan id tombol Anda di tempat 'MyButton'.