我用下面的代码在一个图上画Icon图标,但是我想实现每隔一段时间Icon图标就会向一定的方向进行移动。我现在的办法是重画,但是这样就会出像很多的Icon,请问用什么方法可以实现Icon的移动呢?
private void PaintOurs()
{
Icon Resicon = new Icon(Application.StartupPath+"\\icon1.ico");
Graphics g = Graphics.FromImage(this.pictureBox1.Image);
for(int i=0; i<45; i++)
{
int tx=ss.Nodelist[i].node_x;
int ty=ss.Nodelist[i].node_y;
if(this.checkBoxScale.Checked)
{
int nn=distance/10;
Pen pen = new Pen(Color.Red);
g.DrawEllipse(pen,tx-nn/2,ty-nn/2,nn,nn);
}
g.DrawIcon(Resicon,tx-10,ty-10);
PointF point = new PointF((tx-13),(ty+10));
g.DrawString(ss.Nodelist[i].node_name,new Font("Times New Roman",10),new SolidBrush(Color.Black),point);
}
}
private void PaintOurs()
{
Icon Resicon = new Icon(Application.StartupPath+"\\icon1.ico");
Graphics g = Graphics.FromImage(this.pictureBox1.Image);
for(int i=0; i<45; i++)
{
int tx=ss.Nodelist[i].node_x;
int ty=ss.Nodelist[i].node_y;
if(this.checkBoxScale.Checked)
{
int nn=distance/10;
Pen pen = new Pen(Color.Red);
g.DrawEllipse(pen,tx-nn/2,ty-nn/2,nn,nn);
}
g.DrawIcon(Resicon,tx-10,ty-10);
PointF point = new PointF((tx-13),(ty+10));
g.DrawString(ss.Nodelist[i].node_name,new Font("Times New Roman",10),new SolidBrush(Color.Black),point);
}
}
g.Clear(Color.White);
这个没有关系吧.
g.Clear(Color.White);它的意思也就是每次涂白而已.