Зная, когда щелкает конкретная точка данных? - PullRequest
4 голосов
/ 20 июля 2011

У меня есть гистограмма, и я хочу позволить пользователю щелкнуть правой кнопкой мыши определенную полосу, выбрать какую-либо операцию (добавить одну или что-то еще), которая будет влиять только на эту полосу.Возможен ли этот тип вещей с помощью ZedGraph?

1 Ответ

8 голосов
/ 21 июля 2011

Вы можете добавить событие Click мыши в форму и вызвать FindNearestObject (), передавая эту точку мыши, вы получите ближайший объект.Возможно, что-то вроде этого:

private void zedGraphControl2_MouseClick(object sender, MouseEventArgs e)
{
    object nearestObject;
    int index;
    this.zedGraphControl2.GraphPane.FindNearestObject(new PointF(e.X, e.Y), this.CreateGraphics(), out nearestObject, out index);
    if (nearestObject != null && nearestObject.GetType() == typeof(BarItem))
    {
        BarItem barItem = (BarItem)nearestObject;
        barItem[index].Y += 1;
        zedGraphControl2.Invalidate();
    }
} 
...