Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在两个键盘键同时按下时跟踪它们_C# - Fatal编程技术网

C# 如何在两个键盘键同时按下时跟踪它们

C# 如何在两个键盘键同时按下时跟踪它们,c#,C#,认为用户同时按下了两个键 我想知道这两把钥匙,而不是一把 喜欢向上+向左 我如何才能找到这一点?您应该注册keyup和keydown事件的处理程序 对于组合键中涉及的每个键,存储一个标志,该标志指示键是向上还是向下。每次收到其中一个键的keydown事件时,您都会设置标志,每次收到keyup事件时,您都会重置标志并将其设置回0 设置所有标志时,意味着同时按下组合的所有键,然后可以调用您选择的函数对此事件作出反应。这是什么类型的项目?WinForms?WPF?Web?当您的应用程序位于最顶端且仅在

认为用户同时按下了两个键

我想知道这两把钥匙,而不是一把

喜欢向上+向左


我如何才能找到这一点?

您应该注册keyup和keydown事件的处理程序

对于组合键中涉及的每个键,存储一个标志,该标志指示键是向上还是向下。每次收到其中一个键的keydown事件时,您都会设置标志,每次收到keyup事件时,您都会重置标志并将其设置回0


设置所有标志时,意味着同时按下组合的所有键,然后可以调用您选择的函数对此事件作出反应。

这是什么类型的项目?WinForms?WPF?Web?当您的应用程序位于最顶端且仅在使用中时,您想捕获全局或本地事件吗?请注意,并非所有的组合键都能在廉价的键盘硬件上工作,并且您将无法获得一些向下键/向上键通知。这就是为什么存在150美元以上的键盘的原因。在所有情况下,只有按住Ctrl、Alt和Shift并使用普通键才能工作。在调试代码之前,也许值得记住这一点。