【发布时间】:2019-12-14 19:09:18
【问题描述】:
当用户按下 Shift + UP 键时,我希望我的表单通过调用一个消息框来响应。
如何在 Windows 窗体中执行此操作?
【问题讨论】:
当用户按下 Shift + UP 键时,我希望我的表单通过调用一个消息框来响应。
如何在 Windows 窗体中执行此操作?
【问题讨论】:
处理KeyDown 事件并有类似的东西:
if (e.Modifiers == Keys.Shift && e.KeyCode == Keys.Up)
{
MessageBox.Show("My message");
}
事件处理程序必须在主窗体上,您需要将KeyPreview 属性设置为true。这可以通过属性对话框在设计模式下完成。
【讨论】:
keydown 事件。对不起。我将上面的代码放在表单中托管的控件的keydown 事件中,这就是它不起作用的原因
如果您想使用多个修饰符,KeyEventArgs 还具有布尔值来指示是否按下了 CTRL、ALT 或 SHIFT。
例子:
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.Alt && e.Shift && e.KeyCode == Keys.F12)
MessageBox.Show("My message");
}
在此示例中,如果同时按下 CTRL、ALT、SHIFT 和 F12,则会显示消息框。
【讨论】:
处理多个修饰键(在 KeyDown 事件中)
if (e.Control && e.Shift)
{
if (e.KeyCode == Keys.F1)
{
// Your code goes here
}
}
【讨论】: