我有一个 wpf 表单和一个画布,还有一个画布中的图像。我希望这张图片每隔 n 毫秒随机移动一次。我使用了while循环,但它被饿死了。所以我无法通过一个鼠标事件来实现这个动作,看看我对这个动作的想法有多好。这是我下面的代码:
public void movebox()
{
Random rnd = new Random();
int movex = rnd.Next(0, 2);
int movey = rnd.Next(0, 2);
Canvas.SetTop(image1, Canvas.GetTop(image1) + (movey == 1 ? 1 : -1));
Canvas.SetLeft(image1, Canvas.GetLeft(image1) + (movex == 1 ? 1 : -1));
}
private void Window_MouseMove(object sender, MouseEventArgs e)
{
movebox();
}
我喜欢图像的移动,但现在我有同样的问题。我需要这个对象每隔 n 毫秒自动移动一次而不会饿死。这是我的理想代码如下:
while(true){
Random rnd = new Random();
int movex = rnd.Next(0, 2);
int movey = rnd.Next(0, 2);
Canvas.SetTop(image1, Canvas.GetTop(image1) + (movey == 1 ? 1 : -1));
Canvas.SetLeft(image1, Canvas.GetLeft(image1) + (movex == 1 ? 1 : -1));
Thread.Sleep(1000);
}
我现在该怎么办?