如何使工具提示跟随鼠标

本文关键字:鼠标 跟随 工具提示 何使 | 更新日期: 2023-09-27 18:07:20

我想让工具提示跟随鼠标移动到一个控件上。例如,让我们以一个面板为例。当鼠标位置在矩形(100,100,50,50)内时,我希望工具提示是可见的,并且总是在鼠标的右侧。当它在这个矩形之外时,我希望工具提示是不可见的。

我试着这样做:

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,但它是相同的效果

如何使工具提示跟随鼠标

不要使用工具提示-如果面板被绘制,请绘制自己的工具提示;否则,使用Panel并响应来自两者的MouseMove事件,但忽略e.Location,而使用System.Windows.Forms.Cursor.PositionPointToClient