【发布时间】:2020-10-18 13:41:24
【问题描述】:
有没有一种简单的方法可以在类似于 Visual Studio 的 winforms 应用程序中捕获 ctrl+key1、key2 事件,例如ctrl+e, c = 注释掉选中的行?
我目前正在覆盖我的表单OnKeyDown 事件:
protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
if (e.Control && e.KeyCode.ToString() == "N")
{
//do something...
}
}
【问题讨论】:
-
我会将 KeyDown 上的键保存到一个列表中,并在 KeyUp 中删除它们,然后在每次发生 KeyDown 时找到所需的一组键时检查列表。因此,您可以将 key1 和 key2 保存到列表中,如果两者都存在,并且 e.Control 为真,则执行您的操作。在 KeyUp 上,您将删除按下的键。
-
@Kell - 这个问题是针对 WPF,而不是 winforms。