画线路

时间:2014-01-20 01:45:20

标签: c# paint draw

我创建了一个面板,我在其中绘制了一些行,这些行通过Timer1更新,间隔为200毫秒,Invalidate()。关键是我想创建一条线条,或者通过更新坐标X,Y来保持创建的线条。

Invalidate()会重新绘制面板,但只是使用新值更新Line,并删除其他行。怎么解决这个?我已经阅读了很多,但没有什么能解决这个问题。

 private void RefreshTimer_Tick(object sender, EventArgs e)
    {
        RefreshTimer.Interval = 200;
        Panel1.Invalidate();
    }

private void Panel1_Paint(object sender, PaintEventArgs e)
   {   

            Graphics gi = e.Graphics;
            gi.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

            angle = Valor3;//come from a microcontroller

            Pen pen2 = new Pen(Color.Red, 2f);

            int r = Uval;//come from a microcontroller
            int X1 = RadarPanel.Size.Width/2;
            int Y1 = RadarPanel.Size.Height/2;
            Point pStart = new Point(X1, Y1);

    int X2 = (int)(X1 + r * Math.Cos((double)angle * Math.PI/180));
    int Y2 = (int)(Y1 + r * Math.Sin((double)angle * Math.PI/180));

    Point pEnd = new Point(X2, Y2);
    gi.DrawLine(pen2, pStart, pEnd);

     gi.DrawEllipse(new Pen(Color.Green, 2f), 0, 0, Panel1.Size.Width, Panel1.Size.Height);
}

谢谢

RGDS

0 个答案:

没有答案
相关问题