You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET如何修改按钮MouseHover时的默认Tooltip文本?

WinForms按钮双Tooltip问题解决办法

你遇到的问题是因为按钮被绑定了两次Tooltip内容:一次是你写的自定义文本,另一次是之前就存在的默认绑定(要么是设计时设的,要么是代码里提前绑的,甚至可能是按钮的Text被当成Tooltip显示了)。

下面给几个实用的解决方法:

  • 直接覆盖默认值(最省心):别在MouseHover事件里折腾,直接在按钮初始化或者窗体加载的时候,一次性设置好Tooltip,直接覆盖掉默认内容就行:

    ' 比如在Form_Load事件或者创建按钮的代码里加
    Form1.ToolTip.SetToolTip(你的按钮名, "My custom text")
    
  • 如果必须用MouseHover事件:先清空按钮已有的Tooltip绑定,再设置新文本,避免重复:

    Sub DynamicButton_Photos_MouseHover(ByVal sender As Button, ByVal e As EventArgs)
        ' 先清掉旧的Tooltip
        Form1.ToolTip.SetToolTip(sender, "")
        ' 再设置自定义文本
        Form1.ToolTip.SetToolTip(sender, "My custom text")
    End Sub
    
  • 检查设计器设置:打开窗体设计器,找到你的ToolTip控件,看看它是不是已经给目标按钮绑定过默认文本了,直接在设计器里改成你要的内容,不用写代码也行。

另外提一句:WinForms按钮本身不会自动弹Tooltip,默认那个显示按钮文本的Tooltip,大概率是之前有人通过Tooltip控件绑过,或者按钮的AccessibleDescription属性被设成了按钮Text,部分系统环境下会被当成Tooltip显示。

内容的提问来源于stack exchange,提问作者Eduards

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 17:11:12