我在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);
}
答案 0 :(得分:0)
我建议使用WPF来实现这一点,因为实时绑定支持“开箱即用”而没有自定义UI代码。
答案 1 :(得分:-1)
这是一个以增量方式绘制线条的简单代码示例。用户界面没有响应。如果您不喜欢这样,您将在另一个线程上进行计算,这对于堆栈溢出答案来说实在太大了。
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));
}
}