tmw*_*ods 3 c# charts mouseevent mousehover
我确信这有一个直接的答案,但我似乎无法弄明白.
我正在尝试添加tooltip使用我的mousehover活动.从历史上看,我已经使用过该mousemove事件,但不幸的是,这意味着tooltip更新程序可以像程序一样快速地进行更新.我只想让它显示鼠标在我的图表上静止不动.
问题是我无法获取e.Location属性,因为事件处理程序仅使用EventArgs,而不是MouseEventArgs.有没有办法可以改变这个?或者可能添加一行MouseEventArgs mouse = new MouseEventArgs();(我得到一个错误,说它需要更多的参数,但我不知道哪个).
任何帮助表示赞赏:)
private void chSysData_MouseHover(object sender, EventArgs e)
{
//Add tooltip
try
{
int cursorX = Convert.ToInt32(chSysData.ChartAreas[0].AxisX.PixelPositionToValue(e.Location.X));
tipInfo = "System: " + systemVoltage[cursorX].ToString("0.00") + Environment.NewLine + "Current: " + currArray[cursorX].ToString("0.00") + Environment.NewLine;
tooltip.SetToolTip(chSysData, tipInfo);
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
Run Code Online (Sandbox Code Playgroud)
将Cursor.Position属性映射到您的图表.面板示例:
private void panel1_MouseHover(object sender, EventArgs e) {
var pos = panel1.PointToClient(Cursor.Position);
toolTip1.Show("Hello", panel1, pos);
}
Run Code Online (Sandbox Code Playgroud)
请注意,这与使用toolTip1.Show("Hello",panel1)没有区别; 但是您可能想要调整工具提示位置,以便它不会被光标重叠.