Chart不断变化

发布时间 2023-11-15 21:25:49作者: 赵书记

启动状态

 开始状态

 

  • 声明CycleData

 1         private void CycleData()
 2         {
 3             //获取数据的异步委托方法
 4             Action GetData = async () =>
 5             {
 6                 Random random = new Random();//随机数
 7                 double inc = 0;//作为Point的Label属性
 8                 _isRead = true;
 9                 while (_isRead)
10                 {
11                     inc += 5;
12                     //添加DataPoints
13                     this.gunaSplineDataset1.DataPoints.Add(inc.ToString(), random.Next(100, 1000));
14                     this.gunaSplineDataset2.DataPoints.Add(inc.ToString(), random.Next(100, 1000));
15                     this.gunaSplineDataset3.DataPoints.Add(inc.ToString(), random.Next(100, 1000));
16                     this.gunaChart1.Update();
17                     await Task.Delay(500);
18                 }
19             };
20             //执行任务
21             Task.Run(() =>
22             {
23                 this.gunaChart1.Invoke(GetData);
24             });
25         }
 1         private void guna2Button1_Click(object sender, EventArgs e)
 2         {
 3             this.gunaChart1.ResetZoom();
 4             this.gunaChart1.Zoom = ZoomMode.None;
 5             guna2Button1.Enabled = false;
 6             guna2Button2.Enabled = true;
 7             guna2Button3.Enabled = false;
 8             CycleData();
 9 
10         }
1         //停止
2         private void guna2Button2_Click(object sender, EventArgs e)
3         {
4             this.gunaChart1.Zoom = ZoomMode.XY;
5             guna2Button1.Enabled = true;
6             guna2Button3.Enabled = true;
7             _isRead = false;
8         }
 1         //删除
 2         private void guna2Button3_Click(object sender, EventArgs e)
 3         {
 4             this.gunaChart1.ResetZoom();
 5             this.gunaChart1.Zoom = ZoomMode.None;
 6             this.gunaSplineDataset1.DataPoints.Clear();
 7             this.gunaSplineDataset2.DataPoints.Clear();
 8             this.gunaSplineDataset3.DataPoints.Clear();
 9             this.gunaChart1.Update();
10         }
        //关闭窗口时,彻底释放进程
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            //System.Diagnostics.Process.GetCurrentProcess().Kill();
            Environment.Exit(0);
        }
1         private bool _isRead;
2         public Form1()
3         {
4             InitializeComponent();
5             guna2Button2.Enabled = false;
6 
7         }