VB.NET为每一个控件创建气泡提示


在NET中如果是ToolStrip1工具栏,默认的气泡提示即是该按钮的text属性值。

如果是其他控件呢?比如说TextBox控件,以下代码可实现:

        Dim toolTip1 As New ToolTip()

        toolTip1.AutoPopDelay = 5000 '显示停留5秒

        toolTip1.InitialDelay = 1000   '1秒后显示

        toolTip1.ReshowDelay = 500 '从一个控件移到另一个控件0.5秒后显示

        toolTip1.ShowAlways = True '在窗口不活动时也显示

        ToolTip1.SetToolTip(TextBox1, "提示内容")

进一步,如果控件数量比较多,以下递归方法看可通过设置控件的Tag属性来产生气泡提示而不必一个一个手工绑定。(在窗体上画一个Button1,TextBox1,Panel1,再在Panel1上画一个Button2)

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

        ''''''''''''''''''''''''''

        '此句必须放在 toolTip1 绑定控件前

        TextBox1.Tag = "请输入数字" & vbCrLf & "0123456789"

        Button1.Tag = "按钮"

        Button2.Tag = "海洋"

        Panel1.Tag = "pannnnnnnnnnnnn"

        ''''''''''''''''''''''''''

        BindingControlToToolTip(Me)

    End Sub

    Sub BindingControlToToolTip(ByVal parent As Control)

        Dim toolTip1 As New ToolTip()

        toolTip1.AutoPopDelay = 5000 '显示停留5秒

        toolTip1.InitialDelay = 1000   '1秒后显示

        toolTip1.ReshowDelay = 500 '从一个控件移到另一个控件0.5秒后显示

        toolTip1.ShowAlways = True '在窗口不活动时也显示

        For Each ctrl As Control In parent.Controls

            toolTip1.SetToolTip(ctrl, ctrl.Tag)

            '递归调用过程,保证子窗体上(如panel)的空间也绑定。

            BindingControlToToolTip(ctrl)

        Next

    End Sub



ByCAD工具箱-->梁编号归并

让十字光标全屏

欢迎关注微信公众账号ByCAD