C#WPF在短时间内按下键时移动矩形
我在特定方向上按住左键、右键、上键或下键时移动一个矩形 当我按住键时,矩形会停止一小段时间。但是如果我想让它自由移动而不需要短暂的停顿,我该怎么办呢 MainWindow.xamlC#WPF在短时间内按下键时移动矩形,c#,wpf,xaml,C#,Wpf,Xaml,我在特定方向上按住左键、右键、上键或下键时移动一个矩形 当我按住键时,矩形会停止一小段时间。但是如果我想让它自由移动而不需要短暂的停顿,我该怎么办呢 MainWindow.xaml <Window KeyDown="myTestKey"> <Canvas> <Rectangle Name="Movement" Canvas.Top="50" Canvas.Left="50" Height="100" Width="100" Fill="Aquamarine"
<Window KeyDown="myTestKey">
<Canvas>
<Rectangle Name="Movement" Canvas.Top="50" Canvas.Left="50" Height="100" Width="100" Fill="Aquamarine"/>
</Canvas>
</Window>
控制初始按键和后续连续重复检测之间延迟的按键延迟设置是Windows设置。请参阅以进行讨论 在
定时器
事件中执行移动,在按键
事件中启用移动,在按键
事件中禁用移动
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);
}