How can I capture enter keypresses anywhere on my form and force it to fire the submit button event?
If you set your Form
's AcceptButton
property to one of the Button
s on the Form
, you'll get that behaviour by default.
Otherwise, set the KeyPreview
property to true
on the Form
and handle its KeyDown
event. You can check for the Enter
key and take the necessary action.
private void textBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
button.PerformClick();
}
You can designate a button as the "AcceptButton" in the Form's properties and that will catch any "Enter" keypresses on the form and route them to that control.
See How to: Designate a Windows Forms Button as the Accept Button Using the Designer and note the few exceptions it outlines (multi-line text-boxes, etc.)
As previously stated, set your form's AcceptButton property to one of its buttons AND set the DialogResult property for that button to DialogResult.OK, in order for the caller to know if the dialog was accepted or dismissed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With