我现在的程序如下:
     public void AfterCreatCurve(ZedGraphControl zg)
        {
            
            zg.GraphPane.XAxis.Scale.MaxAuto = true;
            
            double x = (double)new XDate(DateTime.Now);
            double y = GlobalUser.ran.NextDouble();           
            double y1 = GlobalUser.ran.NextDouble();
            double y2 = GlobalUser.ran.NextDouble();
            GlobalUser.list1.Add(x, y);
            GlobalUser.list2.Add(x, y1);
            GlobalUser.list3.Add(x, y2);           if (GlobalUser.list1.Count >= 150)
            {                GlobalUser.list1.RemoveAt(0);            }            if (GlobalUser.list2.Count >= 150)
            {                GlobalUser.list2.RemoveAt(0);
            }            if (GlobalUser.list3.Count >= 150)
            {                GlobalUser.list3.RemoveAt(0);            }            zg.AxisChange();
            zg.Refresh();           }    private void timer1_Tick(object sender, EventArgs e)
        {
           for (int i=0; i < 35; i++)
            {
                AfterCreatCurve(GlobalUser.myZed[i ]);
            }
         }  其中timer的执行周期设置的是1000ms,即1秒执行一次,程序很简单,但是任务量比较大,在一个周期内我只对1个控件执行该程序时一切正常,可是一旦对36个控件(GlobalUser.myZed[i],i=0...35)执行,运行后程序显示上就会出现问题,横轴(X轴)显示的时间出现偏差,乱跳(我做的是一个实时曲线程序,屏幕上要同时监视30个坐标系,每个坐标系里有3条曲线,横轴是时间,纵轴是数值)。请问这是因为执行任务量大的原因么?有没有好的解决方案呢?