Winforms图表为空

时间:2014-05-29 20:44:12

标签: c# winforms mschart

我使用默认的winforms图表创建了一个简单的项目,没有任何更改和按钮。

public partial class Form1 : Form
{
    public Dictionary<int, double> L { get; set; }
    public Form1()
    {
        InitializeComponent();

        L = new Dictionary<int, double>();
        chart1.DataSource = L;
        chart1.Series[0].XValueMember = "Key";
        chart1.Series[0].YValueMembers = "Value";

    }

    private void Generate(object sender, EventArgs e)
    {
        L.Clear();
        Random R = new Random();
        for (int i = 0; i < numberNUD.Value; i++)
        {
            L.Add(i, R.NextDouble() * 100);
        }
    }
}

但点击图表后仍然是空的。数据源有一些值,但是chart1.Series[0].Points.Count == 0 我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

你在某处调用Generate方法吗?你应该首先调用它,以便它可以用一些随机值填充字典。

答案 1 :(得分:0)

仅仅因为您设置了一次DataSource,并不意味着它会在您的模型更新时自行更新。

更改模型后需要再次设置数据。

L.Clear();
Random R = new Random();
for (int i = 0; i < numberNUD.Value; i++)
{
    L.Add(i, R.NextDouble() * 100);
}
chart1.DataSource = L; //this!
chart1.DataBind(); //and this if it doesn't work