我试图获得当您按下该键时按住该键连续移动。但是,当按下它时,它移动一次,然后等待一秒钟,然后继续。我正在使用:
Window.Current.CoreWindow.KeyDown += CoreWindow_KeyDownAsync;
并获取方法:
args.VirtualKey == Windows.System.VirtualKey.S;
有没有办法在那一秒内不暂停,我只想继续按住该键即可。
答案 0 :(得分:1)
您无法在此处影响系统报告KeyDown
事件的速度,但是您也可以订阅KeyUp
,并假定在第一次报告事件之间按下了键。 KeyDown
直到出现相应的KeyUp
-
Window.Current.CoreWindow.KeyDown += CoreWindow_KeyDown;
Window.Current.CoreWindow.KeyUp += CoreWindow_KeyUp;
方法:
private void CoreWindow_KeyDown(
Windows.UI.Core.CoreWindow sender,
Windows.UI.Core.KeyEventArgs args)
{
if (args.VirtualKey == Windows.System.VirtualKey.S)
{
//StartMoving(); (or keep moving if already started previously)
}
}
private void CoreWindow_KeyUp(
Windows.UI.Core.CoreWindow sender,
Windows.UI.Core.KeyEventArgs args)
{
if (args.VirtualKey == Windows.System.VirtualKey.S)
{
//StopMoving();
}
}