我有这应该在屏幕上移动图像的方法运行狗类:运行方法同时
public bool Run()
{
Point p = PictureBoxDog.Location;
while(p.X < 530)
{
int movement = Randomizer.Next(0, 3);
p.X += movement;
PictureBoxDog.Location = p;
}
if (Location == 4) //Incomplete section.
return true;
else
return false;
}
这种方法是,其中4个狗对象创建一个按钮单击事件和被叫每个对象调用Run方法:
private void button1_Click(object sender, EventArgs e)
{
Dog dog1 = new Dog(pictureDog1);
Dog dog2 = new Dog(pictureDog2);
Dog dog3 = new Dog(pictureDog3);
Dog dog4 = new Dog(pictureDog4);
dog1.Run();
dog2.Run();
dog3.Run();
dog4.Run();
}
的问题是,每一种方法执行一个接一个,不能同时。我希望每个方法同时运行。如果我删除了while语句,那么所有的方法都会同时执行,但是在while循环中,它们会一个接一个地执行。有关如何解决这个问题的任何建议,非常感谢。而不while循环运行方法:
public bool Run() //Dog1.Run()
{
Point p = PictureBoxDog.Location;
int movement = Randomizer.Next(0, 30);
//Location += movement;
p.X += movement;
PictureBoxDog.Location = p;
if (Location == 4) //Incomplete code.
return true;
else
return false;
}
添加一个计时器并从那里调用方法。那么,如果你不知道自己在做什么,那么你就不必乱用线程,这会导致UI元素出现问题。 –