Chart不断变化
启动状态
开始状态
-
声明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 }