Как проверить, находится ли мышь над выделенной областью в mschart - PullRequest
0 голосов
/ 07 июля 2011

В моем приложении WinForms у меня есть элемент управления Chart с такими настройками:

chartArea.CursorX.IsUserEnabled = true;
chartArea.CursorX.IsUserSelectionEnabled = true;
chartArea.AxisX.ScaleView.Zoomable = false;

, где chartArea является основным (и единственным) объектом ChartArea в моем элементе управления Chart.

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

Сначалапроблема здесь в том, как определить, находится ли я над выбранной областью?с помощью chart.HitTest() я могу получить HitTestResult.PointIndex значение поля и сравнить его с диапазоном выбора.Но это работает, только если мышь находится точно над DataPoint.Так что не работает для SeriesChartType.FastLine, который я использую.

Если это как-то решится, следующей будет проблема с отменой выбора после щелчка мыши (до Click или *Вызывается 1017 * событий).


решено

Я нашел axis.PixelPositionToValue() метод, который дает мне всю необходимую информацию, потому что из события MouseMoveаргументы у меня есть позиция пикселя.Для проблемы событий щелчка я напишу другой вопрос.

1 Ответ

0 голосов
/ 07 июля 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...