每次点击时pictureBox,我都会在列表中添加类型为的对象Car。我想让它们一点击就移动picutreBox。
这是我的代码
private Thread t;
private void pictureBox1_MouseClick_1(object sender, MouseEventArgs e)
{
list.Add(new Car(e.X, e.Y, 40, 40));
br++;
t = new Thread(Draw);
t.Start();
}
画:
private void Draw()
{
Graphics g = pictureBox1.CreateGraphics();
for(int i = 0; i < 1000; i++)
{
list[br].DrawCar(g, Color.Red);
list[br].Move();
Thread.Sleep(100);
pictureBox1.Invoke(
(MethodInvoker)delegate
{
pictureBox1.Refresh();
});
}
g.Dispose();
}
我遇到的问题如下:
当我第一次点击时,它移动得很好,但是一旦我再次点击,汽车就会停下来,下一辆车开始移动。
我点击表单越多,汽车越快,我不知道为什么
当我退出表单时,出现异常:
System.InvalidOperationException: '在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke。'
汪汪一只猫
相关分类