C# MSChart 添加悬停线
C# MSChart add hover Line
当您点击 mschart 时,会出现一条红线,是否可以在将鼠标悬停在图表上时以某种方式添加这条线?我想让这条线在悬停时可见,并将悬停数据点的结果添加到该线或类似的东西下面。到目前为止,我只发现了工具提示,并且能够使用它并在将鼠标悬停在它上面时显示数据点的值。
如果你不知道我在说什么台词:
您可以处理图表的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);
}
当您点击 mschart 时,会出现一条红线,是否可以在将鼠标悬停在图表上时以某种方式添加这条线?我想让这条线在悬停时可见,并将悬停数据点的结果添加到该线或类似的东西下面。到目前为止,我只发现了工具提示,并且能够使用它并在将鼠标悬停在它上面时显示数据点的值。
如果你不知道我在说什么台词:
您可以处理图表的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);
}