I can't get the Ctrl key state in the KeyUp event handler as the Ctrl key is released.
Do I have to test the keycode of the event argument?
Is there any other way?
Wiring an event to the KeyUp
event handler will work.
The following code will trigger when the Ctrl key is released:
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.ControlKey)
{
MessageBox.Show("Control key up");
}
}
If you want to test if the Ctrl was pressed in combination with another keystroke, for example: Ctrl+F1 then the following code snippet might apply:
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.F1)
{
MessageBox.Show("Control + F1 key up");
}
}
Side note: You might have to enable KeyPreview
on the form in order to catch all control KeyUp
events in a single location.
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