如何使我的窗体响应C#中的Ctrl-Alt

本文关键字:中的 Ctrl-Alt 响应 窗体 何使 我的 | 更新日期: 2023-09-27 17:59:07

我在C#中有一个简单的Form,它有一个网格和几个按钮。

我希望表单在按下Ctrl-Alt时稍微更改一下GUI,并且在释放Ctrl-Alt时使GUI恢复到原始状态。

我知道如何检查是否按下了Ctrl+Alt-一种方法是通过Control.ModifierKeys.

我要问的是:

对于按钮按下,我有响应它的事件处理程序。对于键盘常规键,我有响应它的事件处理程序。但是Ctrl-Alt键不是一个常规键,它们在按下时不会引发事件。

那么我该怎么办呢?

我想的一种方法是启用一个将运行的计时器,如果按下Ctrl-Alt,则每200毫秒检查一次。

有比计时器更好的方法吗?

感谢

如何使我的窗体响应C#中的Ctrl-Alt

您可能会覆盖Form的方法来获取击键。

 protected override bool ProcessCmdKey(ref Message msg, Keys keyData)    
 {
    if (keyData == (Keys.Control | Keys.Alt ) 
    {
       //Do Stuff here
    }
    return base.ProcessCmdKey(ref msg,keyData);
 }