Гистограмма ZedGraph C # - как проверить, какая полоса была нажата мышью? - PullRequest
6 голосов
/ 20 июля 2010

Я использую ZedGraph для рисования своих графиков в C #.Мне нужно знать, какая полоса (в столбчатой ​​диаграмме) была нажата мышью.Как я могу это сделать?Есть ли способ получить бар по точке и, например, изменить его цвет?

1 Ответ

4 голосов
/ 20 июля 2010

Используйте событие MouseClick и найдите координаты X и Y точки, в которой вы щелкнули:

    zg1.MouseClick+=new MouseEventHandler(zg1_MouseClick3);



    private void zg1_MouseClick3(object sender, MouseEventArgs e)
    {
        PointF pt = (PointF)e.Location;
        double x,y;
        ((ZedGraphControl)sender).MasterPane[0].ReverseTransform(pt, out x, out y);

        // Do something with X and Y
    }

Обратите внимание, что я предположил, что мы работаем на первой панели (индекс 0), но если это такне ваш случай, тогда вам нужно будет найти, какая панель была нажата (см. пример ).

Когда у вас есть позиции X и Y, вы легко сможете угадать, на какой панели нажимали, и делать с этой информацией все, что вам нужно.

...