Hi,
I have a small form, which comes up when I press a button in a winforms app.
I want to be able to close the form by pressing the escape key. How could I do this? I am not sure of the event to use (form_closing?)?
Thanks
Hi,
I have a small form, which comes up when I press a button in a winforms app.
I want to be able to close the form by pressing the escape key. How could I do this? I am not sure of the event to use (form_closing?)?
Thanks
If you have a cancel button on your form, you can set the Form.CancelButton property to that button and then pressing escape will effectively 'click the button'.
If you don't have such a button, check out the Form.KeyPreview property.
You can set a property on the form to do this for you if you have a button on the form that closes the form already.
Set the CancelButton
property of the form to that button.
Gets or sets the button control that is clicked when the user presses the ESC key.
If you don't have a cancel button then you'll need to add a KeyDown
handler and check for the Esc key in that:
private void Form_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
this.Close();
}
}
You will also have to set the KeyPreview
property to true.
Gets or sets a value indicating whether the form will receive key events before the event is passed to the control that has focus.