如何在代码运行时显示具有更改数据的图表
本文关键字:数据 代码 运行时 显示 | 更新日期: 2023-09-27 18:26:20
我在C#
中有一个图表,但我希望看到在执行代码时绘制的点,尤其是因为完成代码需要5分钟或更长时间。这似乎只是显示了最终结果。我正在使用Microsoft Visual Studio Express 2013 C# Windows Form Application
。
问题:如何在执行代码时获得图表以显示正在绘制的点?
示例:不显示已经填写了点(0,0)、(1,1)、(2,2)等的最终图表,如何在执行代码时显示此图表?所以,当它击中要绘制(0,0)的代码时,我实际上看到了它,当它碰到要绘制(1,1)的代码的那一刻,它就在两点之间建立了联系。
编辑:根据请求添加绘图代码。
// Plot the Points on Chart
public void plotPoints(double x, double y)
{
DataPoint dp = new DataPoint();
dp.XValue = x;
dp.SetValueY(y);
chart1.Series[0].Points.Add(dp);
}
这里有一个简单的代码示例,它以递增方式绘制线条。UI没有响应。如果你不喜欢,你将不得不在另一个线程上进行计算,这对于堆栈溢出的答案来说真的太大了。
private void Form1_Load(object sender, EventArgs e) {
var t = new Timer();
t.Tick += DrawGraph;
t.Interval = 1000;
t.Enabled = true;
t.Start();
}
private void DrawGraph(object sender, EventArgs e) {
var rng = new Random();
Graphics g = this.CreateGraphics();
while (true) {
System.Threading.Thread.Sleep(1000);
g.DrawLine(Pens.Black, rng.Next(Width), rng.Next(Height), rng.Next(Width), rng.Next(Height));
}
}
我建议使用WPF来实现这一点,因为实时绑定是"开箱即用"的,不需要自定义UI代码。