我希望工具提示跟随我的鼠标在一个控件上移动。例如,让我们看一个面板。当鼠标位置在 Rectangle(100, 100, 50, 50) 内时,我希望 ToolTip 可见并且始终位于鼠标的右下方。当它在这个矩形之外时,我希望 ToolTip 不可见。
我试图这样做:
ToolTip toolTip = new ToolTip();
int x, y;
protected override void OnMouseMove(MouseEventArgs e)
{
if ((x == e.X) && (y == e.Y) && (new Rectangle(100, 100, 50, 50).Contains(e.Location))
toolTip.Show("some text", this, x + 10, y + 10);
else
{
x = e.X;
y = e.Y;
toolTip.Hide(this);
}
}
但是有一个问题 - 当我的工具提示出现时 - 它获得了焦点,之后 OnMouseMove(MouseEventArgs e) 不再起作用。我试图在该功能结束时将焦点放在面板上,但它不起作用。我也尝试了一些使用 OnMouseHover 的技巧,但效果相同。