按下按键时无短延迟移动C# WPF矩形

3

当我按住左、右、上或下箭头键时,我会以特定的方向移动一个矩形。

当我按住键时,矩形会停止一小段时间。但如果我希望它在没有这种短暂停顿的情况下自由移动怎么办?

MainWindow.xaml

<Window KeyDown="myTestKey">
<Canvas>
    <Rectangle Name="Movement" Canvas.Top="50" Canvas.Left="50" Height="100" Width="100" Fill="Aquamarine"/>
</Canvas>
</Window>

MainWindow.xaml.cs

private void myTestKey(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Left) Canvas.SetLeft(Movement, Canvas.GetLeft(Movement) - 1);
        if (e.Key == Key.Up) Canvas.SetTop(Movement, Canvas.GetTop(Movement) - 1);
        if (e.Key == Key.Down) Canvas.SetTop(Movement, Canvas.GetTop(Movement) + 1);
        if (e.Key == Key.Right) Canvas.SetLeft(Movement, Canvas.GetLeft(Movement) + 1);
    }
2个回答

0

0
Timer 事件中执行移动,并在 KeyDown 事件中启用移动,在 KeyUp 事件中禁用移动。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接