如何控制ToolStripStatusLabel中ToolTipText的位置

3
我在 Windows 窗体底部的状态栏中有一个 ToolTipStatusLabel,想要在鼠标悬停时显示一些信息。我发现 ToolTipText 可以正常显示,但是位置在下方和右侧。当窗口最大化时,它似乎会升高到某种程度,但也出现了严重的闪烁问题(由于显示的内容是列表,因此可能相当长)。
我找不到改变工具提示显示方式的方法,使其向上和向右。我也找不到将工具提示附加到状态标签的方法。我已经阅读过可以使用 Placement 属性来控制 ToolTip 的位置,但是该属性似乎对 ToolTipStatusLabel 没有效果。
另一种方法是通过处理 StatusLabel 的 MouseEnter 和 MouseLeave 事件,并编写某种自定义无边框窗口来实现这一点。如果有其他方法,我宁愿不这样做。
非常感谢您提前的帮助。
2个回答

4

尝试将工具提示附加到StatusStrip控件,然后从那里,您应该能够在标签的MouseHover事件上显示提示:

ToolTip tt = new ToolTip();

public Form1() {
  InitializeComponent();
}

private void toolStripStatusLabel1_MouseHover(object sender, EventArgs e) {
  tt.Show("This is my tool tip", 
          statusStrip1,
          new Point(toolStripStatusLabel1.Bounds.Right, 
                    toolStripStatusLabel1.Bounds.Top - 10));
}

private void toolStripStatusLabel1_MouseLeave(object sender, EventArgs e) {
  tt.Hide(statusStrip1);
}

0

Visual Studio 2017 ' ToolStripStatusLabel1 的 ToolTipText 属性;

Private Sub ssLDBStatus_MouseHover(sender As Object, e As EventArgs) Handles ssLDBStatus.MouseHover

    ToolTip1.SetToolTip(StatusStrip1, "test")

End Sub

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接