如何使我的窗体响应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毫秒检查一次。
有比计时器更好的方法吗?
感谢
您可能会覆盖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);
}