首页 > 解决方案 > 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;
        }
    }
}

标签: c#keyboardkey

解决方案


只需对 e.Key == Key.Space 使用 KeyDown 和 KeyUp 事件


推荐阅读