我正在 MS 图表
中显示工具提示
。从图表控件移动到其他控件或形成可用空间时,工具提示
不会被隐藏。
如何在windows窗体中检查光标位置是否超出图表控制范围?
我尝试了下面的代码,它对我不起作用。
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (!chart.ClientRectangle.Contains(chart.PointToClient(new Point(e.X,e.Y))))
{
if (ToolTip != null)
ToolTip.Hide(chart);
}
}
我进行了跟踪并检查,如果我从图表控件移动到窗体可用空间,该事件就会触发,只有当从图表移动到其他控件时,Form1_MouseMove
才不会被调用。
如何解决我的问题?
最佳答案
尝试处理目标控件上的 MouseEnter
和 MouseLeave
事件(您的例子中的图表,我的例子中的按钮)。
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsApp
{
public partial class Form1 : Form
{
private const string mouseIsOver = "Mouse is over";
private const string mouseIsOutside = "Mouse is outside";
public Form1()
{
InitializeComponent();
var button = new Button { Text = mouseIsOutside, AutoSize = true, Location = new Point(10, 10) };
button.MouseEnter += (sender, e) => button.Text = mouseIsOver;
button.MouseLeave += (sender, e) => button.Text = mouseIsOutside;
this.Controls.Add(button);
}
}
}
关于c# - 在Windows窗体中如何检查光标位置是否超出图表控制范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56495175/