如何在代码运行时显示更改数据的图表?

时间:2014-10-13 02:35:44

标签: c#

我在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);
}

2 个答案:

答案 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));
        }
    }