有一组坐标点,循环这组坐标点,使用drawline逐个将它们连接起来,要求是:最新的一个坐标点在panel上要显示为一个圆形大点,看上去的效果就是一个大点拖着线在panel上面跑,该怎么做呢?

解决方案 »

  1.   


        Point[] points = ...;    Rectangle rect = new Rectangle(points[points.Length-1], Size.Empty);
        rect.Inflate(5, 5);
        g.DrawLines(Pens.Black, points);
        g.FillEllipse(Brushes.DarkBlue, rect);
      

  2.   


    ArrayList al_PointList; //你的点的集合列表private void Panel_Paint(sender,e)
    {
     if(al_PointList.Items.Count>1)
     {
      for(int i = 0;i<al_PointList.Items.Count) 
      { //循环画直线
       }
     }
     //画最后一个点
    }
      

  3.   

      Graphics _Graphics = Graphics.FromHwnd(panel1.Handle);            Point[] Temp = new Point[3];            Temp[0] = new Point(0, 0);
                Temp[1] = new Point(100, 20);
                Temp[2] = new Point(40, 100);            for (int i = 0; i != Temp.Length - 1; i++)
                {
                    _Graphics.DrawLine(new Pen(Brushes.Yellow, 2), Temp[i], Temp[i + 1]);
                }            Rectangle _Rect = new Rectangle(Temp[Temp.Length - 1], Size.Empty);
                _Rect.Inflate(5, 5);         
                _Graphics.FillEllipse(Brushes.Yellow, _Rect);