Devexpress Chartcontrol系列选择(并采用系列值)

时间:2016-06-17 10:16:17

标签: c# charts devexpress

我正在使用Full-Stacked Barchartcontrol栏中的series图表。我的图表就像一个魅力。

我的问题是关于事件分别处理每个系列。我正在使用我的chartcontrol MouseClick(或ObjectHotTrackedObjectSelected。我也尝试了它们)事件,但是当我点击它们时,我无法单独获取每个系列值。

我该怎么做?我查了一下devexpress文档,但我一无所获。

简而言之:我想看看我点击的系列的价值。我怎么能这样做?

提前致谢

1 个答案:

答案 0 :(得分:0)

首先,您必须将ChartControl.RuntimeHitTesting属性设置为true,并在ChartControl.MouseClick中尝试代码:

private void Form1_Load(object sender, EventArgs e)
{
    chartControl1.CrosshairEnabled = DefaultBoolean.False;
    chartControl1.RuntimeHitTesting = true;
}

private void chartControl1_MouseClick(object sender, MouseEventArgs e)
{
    // Obtain hit information under the test point.
    ChartHitInfo hi = chartControl1.CalcHitInfo(e.X, e.Y);

    // Obtain the series point under the test point.
    SeriesPoint point = hi.SeriesPoint;

    // Check whether the series point was clicked or not.
    if (point != null)
    {
        // Obtain the series point argument.
        string argument = "Argument: " + point.Argument.ToString();

        // Obtain series point values.
        string values = "Value(s): " + point.Values[0].ToString();
        if (point.Values.Length > 1)
        {
            for (int i = 1; i < point.Values.Length; i++)
            {
                values = values + ", " + point.Values[i].ToString();
            }
        }

        MessageBox.Show(argument + "\n" + values, "SeriesPoint Data");
    }
}