c# winform给Button等本身没有tooltiptext属性的控件添加tooltip提示

1. 对于没有tooltiptext属性的控件来说,要如何添加提示语呢?

在网上查了,大部分介绍都是在控件的MouseEnter事件中写代码:

ToolTip p = new ToolTip();

p.ShowAlways = true;

p.SetToolTip(this.button1, "要显示的文字");

但是如果一个窗口有很多控件,岂不是要写很多重复的代码。

可以优化为每个控件使用同一个mouseenter事件,代码为

        private void 控件_MouseEnter(object sender, EventArgs e)
        {
            ToolTip p = new ToolTip();
            p.ShowAlways = true;

            if ((Control)sender==btn_返回)p.SetToolTip((Control)sender, "取消");

            if ((Control)sender==btn_受理)p.SetToolTip((Control)sender, "受理订单");

            .....其他控件

        }

 

 

2. 实际上,.net本身已经给我们提供了tooltip控件,很方便的就可以添加提示语了。

   2.1 拖一个tooltip到窗口中后,窗口中的所有控件都会自动添加一个属性:tooltip1上的ToolTip,只要在每个控件的这个属性填上对应的提示语就行了。

 

c# winform给Button等本身没有tooltiptext属性的控件添加tooltip提示_第1张图片

c# winform给Button等本身没有tooltiptext属性的控件添加tooltip提示_第2张图片

实际效果:

c# winform给Button等本身没有tooltiptext属性的控件添加tooltip提示_第3张图片

c# winform给Button等本身没有tooltiptext属性的控件添加tooltip提示_第4张图片

2.2 在添加提示语后去构造函数里面查看,代码其实很简单。窗口添加一个tooltip后,使用SetToolTip方法就行了 

       this.toolTip1.SetToolTip(this.btn_显示下一单, "受理订单并显示下一单");

c# winform给Button等本身没有tooltiptext属性的控件添加tooltip提示_第5张图片

2.3 于是我自己用代码尝试了一下:

        public Form_上下班设定()
        {
            InitializeComponent();
            ToolTip tooltip1 = new ToolTip();
            tooltip1.IsBalloon = true;
            tooltip1.SetToolTip(lbl_设定, "保存设定");
            tooltip1.SetToolTip(txt_堂食歇业公告, "顾客将会看到你的公告,请不要乱写!");
        }

实际效果:

c# winform给Button等本身没有tooltiptext属性的控件添加tooltip提示_第6张图片

所以,tootip,根本不需要使用MouseEnter事件。

3. 总结:有些方法能实现同样的效果,但不一定是最佳的。.net为我们提供了很多方便的可视化操作,我们很容易忽视其中的代码实现,很多时候,我们需要从构造函数中发现控件的正确用法。

你可能感兴趣的:(c# winform给Button等本身没有tooltiptext属性的控件添加tooltip提示)