c# - System.Windows.Input.Key 在 c# 中不起作用
问题描述
我正在尝试在 c# 中使用 System.Windows.Input 中的 Keyboard.isKeyDown 和 Keyboard.isKeyUp 函数。
这些函数似乎正在工作,但它不允许我使用 System.Windows.Input.Key 中的密钥,所以我不能调用这些函数。
我怎样才能解决这个问题?
这是我的代码:
using System.Diagnostics;
using System.Windows.Input;
namespace rubicksTimer
{
public class Timer
{
public static double SolveTimer ()
{
Stopwatch sw = new Stopwatch();
while (Keyboard.IsKeyUp(Key.Space))
{
//empty loop
}
while (Keyboard.IsKeyDown(Key.Space))
{
//empty loop
}
sw.Start();
while (Keyboard.IsKeyUp(Key.Space))
{
//empty loop
}
sw.Stop();
return (double) (sw.ElapsedMilliseconds) / 1000;
}
}
}
解决方案
只需对 e.Key == Key.Space 使用 KeyDown 和 KeyUp 事件
推荐阅读
- html - 文本换行在错误的位置
- docker - 跨机器时无法连接覆盖网络中的其他容器
- node.js - 如何在 typeorm 的自定义字段上做 orderBy?
- java - Kafka Producer 将消息发布到单个分区
- html - 如何使按钮:当通过代码将按钮置于光标下时,在移动光标之前未触发悬停状态
- android - Firebase 没有为 Release 构建变体采用相同的包名称
- azure-powershell - 查找当前登录的用户名 Azure PowerShell (cloudshell)
- javascript - 当另一个 div 向下滑动时,我如何才能向上滑动一个 div
- c# - 为什么我会收到错误消息“立方体不存在或尚未处理。'
- c# - 团队基础在 RestSharp 和 NewtonSoft 上构建错误