当您点击mschart时会出现一条红线,是否有可能在将鼠标悬停在图表上时添加此行?我想在悬停时使这条线可见,并在线下或类似的东西下添加悬停数据点的结果。到目前为止,我只发现了工具提示,并且能够使用它并在悬停在其上时显示数据点的值。
如果你不知道我在说什么线:
答案 0 :(得分:2)
您可以处理图表的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);
}