C# 带提示消息的自定义按钮
2013-07-27 09:00
567 查看
以前一直纳闷像Office、VS2008等大型软件上面的很多按钮,因为按钮很小不足以显示其文字信息,而用图标代替,每次鼠标一接近时就会出现一个小的白色框框——toolTip,显示按钮的相关描述。当把所有工具条都显示出来时可以有上百个按钮,难道每个按钮都去写一个onMouseHover襄阳处理函数么?
据我猜测,那些造就这些大型工程的工程师绝对没这么傻,简单一个自定义Button即可实现繁琐的代码复写工作。在自定义时,TipButton继承自Button,在视图设计时拖一个toolTip工具进去。
具体实现如下:
先上代码TipButton
这里面包含一个解决方案,两个项目:一个用于测试,一个为自定义按钮。
分开的目的在于,将TipButton编译为类库dll,在写其他应用时可以在工具箱里添加这个控件便于使用。
TipButton代码如下:
tipText为自定义的一个属性,通过TipText封装后可显示在控件的属性窗口,如
[Browsable(true)]:设置是否在属性窗口可见
[Description("xxx")]:"xxx"为控件的描述文字,显示在属性窗口下面
鼠标悬停事件:TipButton_MouseHover,用于响应每次鼠标悬停在按钮上时弹出toolTip提示信息。
toolTip的几个参数如下:
第一个为提示信息悬停时间,第二个为初始化延时,第三个为下次显示延时,这些都在自定义Button时设定了的,后续不能更改。不过若要变得更人性化,读着课自己修改代码,像TipText一样加几个属性显示在按钮属性窗口供使用时编辑。
大体就说这么多,代码简单易懂,读者自己慢慢看哈~有问题Q我~
PS:第一次写技术博客,欢迎广大读者提出批评及改进意见,我一定会不断努力的~
我的QQ:1239848066,邮箱就不用说了吧~
反馈请猛戳:
原创博客:转载后记得附带原文链接,谢谢~
据我猜测,那些造就这些大型工程的工程师绝对没这么傻,简单一个自定义Button即可实现繁琐的代码复写工作。在自定义时,TipButton继承自Button,在视图设计时拖一个toolTip工具进去。
具体实现如下:
先上代码TipButton
这里面包含一个解决方案,两个项目:一个用于测试,一个为自定义按钮。
分开的目的在于,将TipButton编译为类库dll,在写其他应用时可以在工具箱里添加这个控件便于使用。
TipButton代码如下:
public partial class TipButton : Button { /// <summary> /// 待提示的文字信息 /// </summary> private String tipText; [Browsable(true)] [Description("get or set text would be shown on the button when the point of your mouse is hovering on it!\n获取或设置鼠标指针悬停在按钮上时要显示的文本")] [Category("TipButton")] [RefreshProperties(RefreshProperties.All)] public String TipText { get { return tipText; } set { if (value != null) { if (value.Length < 1) { tipText = Text; } else { tipText = value; } } else { tipText = Text; } } } public TipButton() { InitializeComponent(); toolTip1.SetToolTip(this, tipText); } private void TipButton_MouseHover(object sender, EventArgs e) { toolTip1.Show(tipText,this); } }
tipText为自定义的一个属性,通过TipText封装后可显示在控件的属性窗口,如
[Browsable(true)]:设置是否在属性窗口可见
[Description("xxx")]:"xxx"为控件的描述文字,显示在属性窗口下面
鼠标悬停事件:TipButton_MouseHover,用于响应每次鼠标悬停在按钮上时弹出toolTip提示信息。
toolTip的几个参数如下:
第一个为提示信息悬停时间,第二个为初始化延时,第三个为下次显示延时,这些都在自定义Button时设定了的,后续不能更改。不过若要变得更人性化,读着课自己修改代码,像TipText一样加几个属性显示在按钮属性窗口供使用时编辑。
大体就说这么多,代码简单易懂,读者自己慢慢看哈~有问题Q我~
PS:第一次写技术博客,欢迎广大读者提出批评及改进意见,我一定会不断努力的~
我的QQ:1239848066,邮箱就不用说了吧~
反馈请猛戳:
原创博客:转载后记得附带原文链接,谢谢~
相关文章推荐
- c#在线程中打开类似msn的消息提示窗口
- C# 鼠标移动到按钮时显示提示信息
- C#点击“关闭按钮”消息
- Yii框架zii.widgets.grid自定义按钮,ajax触发事件并提示
- [Android开发] 自定义View之消息数量提示View-TipView
- c#如何处理自定义消息
- 关于DevExpree不能自定义消息提示框问题
- iOS精仿唱吧下载按钮、仿知乎日报、自定义提示视图、过渡动画、记录应用等源码
- 【C#】往按钮事件中传递自定义参数
- android自定义tabbar,并带badgeview消息提示
- winform 关于Messagebox自动定时关闭和自定义提示框总按钮上文本的问题的整理
- 利用C#实现标注式消息提示窗口
- iOS开发系列之常用自定义控件开发集—自定义状态栏消息提示控件开发
- Yii框架zii.widgets.grid自定义按钮,ajax触发事件并提示
- C#实现仿msn提示消息在登录后只弹出一次的效果
- HTML5--表单新特性使用自定义错误提示消息validity属性
- C# 中自定义消息的实现
- 做swing程序中遇到使用消息提示框的,JOptionPane类其中封装了很多的方法。 很方便的,于是就简单的整理了一下。 1.1 showMessageDialog 显示一个带有OK 按钮的模态
- c#中如何截取Windows消息来触发自定义事件
- 安卓开发学习之013 EditText应用详解(样式、背景、光标、错误提示、自定义带删除按钮、无弹出菜单)