C # MSChart добавить парящую линию - PullRequest
0 голосов
/ 11 июня 2018

Когда вы щелкаете мышью в mschart, появляется красная линия, возможно ли каким-то образом добавить эту линию при наведении на график?Я хотел бы сделать эту линию видимой при наведении курсора и добавить результат наведения данных под линией или что-то в этом роде.Пока что я узнал только о всплывающей подсказке и смог использовать ее и показывать значения datapoint при наведении на нее указателя.
Если вы не знаете, о какой строке я говорю:
enter image description here

1 Ответ

0 голосов
/ 11 июня 2018

Вы можете обработать MouseHover событие графика и получить точку данных, а затем установить позицию курсора SetCursorPosition:

private void chart1_MouseHover(object sender, EventArgs e)
{
    var p = chart1.PointToClient(MousePosition);
    chart1.ChartAreas[0].CursorX.SetCursorPixelPosition(p, true);
}

Вам также нужно обработать MouseMove и защитить вызов ResetMouseEventArgs метод контроля для повышения MouseHover, как и ожидалось:

private void chart1_MouseMove(object sender, MouseEventArgs e)
{
    var ResetMouseEventArgs= 
        chart1.GetType().GetMethod("ResetMouseEventArgs",
        System.Reflection.BindingFlags.NonPublic |
        System.Reflection.BindingFlags.Instance);
    ResetMouseEventArgs.Invoke(chart1, null);
}
...