我在某个按钮的ToolTip
事件中显示MouseHover
。如果我一旦它可以工作但是如果我离开,等待工具提示消失并返回按钮,它会出现两次。我尝试在MouseLeave
上取消它,但它仍然是seocnd时间的两倍。
Private Sub someButton_MouseHover(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles someButton.MouseHover
Dim tooltipSearch As New ToolTip()
tooltipSearch.Show("I'm a tooltip"), someButton)
End Sub
Private Sub someButton_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles someButton.MouseLeave
Dim toolTip As New ToolTip()
toolTip.GetToolTip(someButton)
toolTip.Hide(someButton)
toolTip.Dispose()
End Sub
我错过了一些明显的东西吗?
答案 0 :(得分:1)
您使用的ToolTip
不是应该使用的方式(也请查看documentation :))。它就像任何其他控件一样,首先将其拖到窗体上(就像使用其他控件一样)。
如果您的工具提示中没有要显示的动态文本,则可以使用方法SetToolTip
轻松地在构造函数中设置文本。如果您确实需要一些动态文本,可以在MouseHover
事件中使用此方法。
除此之外,你不应做任何其他事情。只需在工具提示上设置正确的延迟,它应该可以正常工作。
答案 1 :(得分:0)
Private Sub someButton_MouseHover(sender As Object, e As System.EventArgs) _
Handles someButton.MouseHover
ToolTip1.SetToolTip(someButton, "My name is Steve chamba from south Africa")
End Sub
答案 2 :(得分:0)
将ToolTip控件拖动到表单的答案很棒。但是有一个微妙的Button控件。他们似乎自动将工具提示设置为按钮的文本,因此如果您还调用ToolTip1.SetToolTip(myButton, "Button Text")
,则当您将鼠标悬停在按钮上时,dot-net会绘制两个工具提示文本副本。