【发布时间】:2014-04-20 05:51:08
【问题描述】:
我有一个简单的 C# 表单,它有一个网格和几个按钮。
我希望表单在按下 Ctrl-Alt 时稍微改变它的 GUI, 并在释放 Ctrl-Alt 时将 GUI 恢复为原始状态。
我知道如何检查是否按下了 Ctrl+Alt - 一种方法是通过 Control.ModifierKeys。
我要问的是:
对于按钮按下,我有响应它的事件处理程序。 对于键盘常规键,我有响应它的事件处理程序。 但是 Ctrl-Alt 不是常规键 - 它们在按下时不会引发事件。
那我该怎么办?
我想到的一种方法是启用一个将运行的计时器,如果按下 Ctrl-Alt,则每 200 毫秒检查一次。
还有比定时器更好的方法吗?
谢谢
【问题讨论】:
-
签入 KeyDown。但这是一个可怕的想法。用户如何在不触发您的操作的情况下按 ctrl+alt+del?这些是修饰键。除了在全屏游戏中,它们应该只与非修饰键结合使用。
标签: c# .net winforms user-interface