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,只要在每个控件的这个属性填上对应的提示语就行了。
实际效果:
2.2 在添加提示语后去构造函数里面查看,代码其实很简单。窗口添加一个tooltip后,使用SetToolTip方法就行了
this.toolTip1.SetToolTip(this.btn_显示下一单, "受理订单并显示下一单");
2.3 于是我自己用代码尝试了一下:
public Form_上下班设定()
{
InitializeComponent();
ToolTip tooltip1 = new ToolTip();
tooltip1.IsBalloon = true;
tooltip1.SetToolTip(lbl_设定, "保存设定");
tooltip1.SetToolTip(txt_堂食歇业公告, "顾客将会看到你的公告,请不要乱写!");
}
实际效果:
所以,tootip,根本不需要使用MouseEnter事件。
3. 总结:有些方法能实现同样的效果,但不一定是最佳的。.net为我们提供了很多方便的可视化操作,我们很容易忽视其中的代码实现,很多时候,我们需要从构造函数中发现控件的正确用法。