繁体   English   中英

如何测试Ctrl键?

[英]How to test Ctrl key up?

释放Ctrl键后,我无法在KeyUp事件处理程序中获取Ctrl键状态。

我是否必须测试事件参数的键码?

还有其他方法吗?

将事件连接到KeyUp事件处理程序将起作用。

释放Ctrl键时将触发以下代码:

private void Form1_KeyUp(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.ControlKey)
    {
        MessageBox.Show("Control key up");
    }
}


如果您想测试Ctrl是否与其他按键组合使用,例如: Ctrl + F1,则可能会应用以下代码段:

private void Form1_KeyUp(object sender, KeyEventArgs e)
{
    if (e.Control && e.KeyCode == Keys.F1)
    {
        MessageBox.Show("Control + F1 key up");
    }
}


附注:您可能必须在表单上启用KeyPreview才能在单个位置捕获所有控件KeyUp事件。

private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
    if(e.Modifiers == Keys.Control)
     ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM