【发布时间】:2016-01-21 02:11:05
【问题描述】:
我在另一个pictureBox 中有一个pictureBox。我尝试在地图上模仿飞行飞机。我做了一个简单的循环来完成这项任务。代码:
for (var i = 0; i < 23; i++)
{
Fuel -= 1;
Changed(i);
}
private void Changed(int a)
{
Thread.Sleep(350);
pbPlane1.Location = new Point(525-(25*a), 235);
pbPlane1.Refresh();
}
所以在这种情况下,平面图像会随心所欲地移动,但旧图像也会显示出来,我不想要它。我尝试了几件事,但没有结果。我的代码有什么问题?
【问题讨论】:
-
从您的代码中不清楚您是如何更新图像的。您可以使用类似的方法来清除图片框。
Graphics graphic = Graphics.fromimage(pictbox.Image); graphic.Clear(Color.Red)//Color to fill the background and reset the boxstackoverflow.com/a/5856442/1274820 在位图上使用Graphics.fromImage方法绘制平面图像,然后使用图片框显示位图可能是一个更好的主意。我会做类似的事情,而不是在图片框内放置图片框。 -
如果在添加新图片之前清除图片框会怎样?
-
@JustDoIt 我并没有真正添加新图像,我只想更改其位置。如果我这样做
pbPlane1.Image=null,那我就看不到我的飞机了 -
我找到了一个简单的答案,谢谢大家的帮助
-
哦,好吧,我误解了你的问题