VS2005+ZedGraph 5.1.5 Winform我用下面的方法加了两条参考线        private PointPairList lstStart1 = new PointPairList();
        private PointPairList lstStart2 = new PointPairList();
        private void draw()
        {
           lstStart1.Add(5.00, 2.0);
            lstStart1.Add(9.00, 2.0);
            lstStart1.Add(9.00, 1.0);
            myCurve1 = myPane.AddCurve("Min", lstStart1, Color.Red, SymbolType.None);            lstStart2.Add(5.00, 2.60);
            lstStart2.Add(9.00, 2.60);
            myCurve2 = myPane.AddCurve("Max", lstStart2, Color.Yellow, SymbolType.None);
       }然后我用一个循环继续往图表里画线                    if (i <= 36)
                    {
                        double x = i;
                        double y = 1.5 + Math.Sin(i * 0.2);
                        y = Math.Round(y, 3);
                        list1.Add(x, y);                        myCurve = myPane.AddCurve("", list1, Color.White, SymbolType.None);
 
                        zedGraphControl1.GraphPane = myPane;
                        zedGraphControl1.AxisChange();
                        zedGraphControl1.Refresh();
                        Application.DoEvents();
                        
                    }问题如下:如果我最后不加myPane.CurveList.Clear();这句的话,绘制曲线会越来越慢(一个循环10毫秒),所以我想达到的要求是,当循环绘制的曲线超过10条的时候,清除最早的一条,也就是说图中只保留最新的10条曲线,但不能清除事先画好的参考线(清除了,重画也可以,但不能把所有曲线都一次清除了,要保留最新的10条)

解决方案 »

  1.   

    try
    zedGraphControl1.GraphPane.CurveList.Clear();
    zedGraphControl1.AxisChange();
      

  2.   

    我要保留最新的10条曲线以及参考线,这个如何实现???
    zedGraphControl1.GraphPane.CurveList.Clear();这样把所有的曲线都清空了。
      

  3.   

    zedGraphControl1.GraphPane.CurveList.RemoveRange(10, zedGraphControl1.GraphPane.CurveList.Count - 10);
    zedGraphControl1.AxisChange();
      

  4.   

    zedGraphControl1.GraphPane.CurveList.Count这个是曲线的条数吗?貌似是点的集合.可每条曲线的点的个数是不确定的啊?如何判断曲线的条数?
      

  5.   

    http://17172196.blog.163.com/blog/static/173271602009126337738/
    看看zedgraph相关方法
    http://zedgraph.sourceforge.net/documentation/html/T_ZedGraph_GraphObjList.htm
      

  6.   

    添加的时候能否自己定义些List记录下每条线的点,你想删除。就找这个队列中的点来删。。