博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义Button按钮
阅读量:6231 次
发布时间:2019-06-21

本文共 3706 字,大约阅读时间需要 12 分钟。

在Winform项目中,界面美观也是需要的,经常遇到界面元素不统一的情况,比如Button有大有小,比如都是保存,但每个页

面的快捷键还不一定相同,为在项目中统一元素,我将Button进行了封装,把常用的按钮统一到一个控件中:

1、首先定义一个Button类型枚举类

1         public enum ButtonType 2         { 3             ///  4             /// 保存 5             ///  6             Save = 0, 7  8             ///  9             /// 退出10             /// 11             Quit = 1,12 13             /// 14             /// 确定15             /// 16             Confirm = 2,17 18             /// 19             /// 取消20             /// 21             Cancle = 3,22 23             /// 24             /// 新建25             /// 26             New = 4,27 28             /// 29             /// 编辑30             /// 31             Edit = 5,32 33             /// 34             /// 删除35             /// 36             Delete = 6,37            38             /// 39             /// 查询40             /// 41             Query = 7,42 43             /// 44             /// 应用45             /// 46             Apply = 8,47 48             /// 49             /// 添加50             /// 51             Add = 9,52 53             /// 54             /// 自定义55             /// 56             Other = 9957         }
View Code

2、建一个统一Button类,集成Button控件

1 using System; 2 using System.Collections; 3 using System.Collections.Generic; 4 using System.ComponentModel; 5 using System.Linq; 6 using System.Text; 7 using System.Threading.Tasks; 8 using System.Windows.Forms; 9 10 namespace UcTool11 {12     public class UcButton : Button13     {14 15         public UcButton()16         {17             //初始化按钮类型枚举18             InitButtonDictionary();19             //初始化按钮样式20             InitButtonStyle();            21         }22 23         private void InitButtonStyle()24         {25             base.Size = new System.Drawing.Size(93, 30);26         }27 28         #region 按钮属性29         private ButtonType _B_Type;30         /// 31         /// 按钮类型32         ///        33         [Description("按钮类型")]34         public ButtonType B_Type35         {36             get37             {38                 return _B_Type;39             }40             set41             {42                 _B_Type = value;43                 Text = ButtonDictionary[value];44             }45         }46 47         [Description("按钮文本")]        48         public new string Text49         {50             get { return base.Text; }51             set { base.Text = value; }52         }53         54         #endregion55 56         #region 一次性载入按钮字典57         private static Dictionary
ButtonDictionary;58 private void InitButtonDictionary()59 {60 if (ButtonDictionary == null || ButtonDictionary.Count == 0)61 {62 ButtonDictionary = new Dictionary
();63 ButtonDictionary.Add(ButtonType.Save, "保存(&S)");64 ButtonDictionary.Add(ButtonType.Quit, "退出(&U)");65 ButtonDictionary.Add(ButtonType.Confirm, "确定(&O)");66 ButtonDictionary.Add(ButtonType.Cancle, "取消(&C)");67 ButtonDictionary.Add(ButtonType.New, "新建(&N)");68 ButtonDictionary.Add(ButtonType.Edit, "编辑(&E)");69 ButtonDictionary.Add(ButtonType.Delete, "删除(&D)");70 ButtonDictionary.Add(ButtonType.Query, "查询(&Q)");71 ButtonDictionary.Add(ButtonType.Apply, "应用(&A)");72 ButtonDictionary.Add(ButtonType.Add, "添加(&M)");73 ButtonDictionary.Add(ButtonType.Other, "自定义");74 }75 }76 #endregion77 }78 }
View Code

在使用的过程中遇到常用的按钮只需要修改该Button的【B_Type】属性即可,后期也可统一对按钮的样式进行调整;

转载于:https://www.cnblogs.com/Hua-Min/archive/2013/05/16/UC_Button.html

你可能感兴趣的文章
微软豪购Linkedin 补移动社交船票?
查看>>
实例:某大型企业遭受勒索蠕虫袭击纪实
查看>>
“云计算”让城市智慧起来
查看>>
Google计划收购数据科学社区Kaggle
查看>>
《OpenGL ES应用开发实践指南:Android卷》—— 1.3 初始化OpenGL
查看>>
Java 生成 PDF 文档
查看>>
C语言实现栈的基本操作
查看>>
策略模式
查看>>
linux(6.8版本最小化安装)安装nginx实战
查看>>
我的友情链接
查看>>
检讨~
查看>>
html引用公共的html文件
查看>>
关于Java泛型使用的问题记录
查看>>
进入Android Dalvik虚拟机之Dalvik虚拟机的特点
查看>>
while的四种使用方式
查看>>
nginx添加几十个域名
查看>>
SpringMVC同时支持多视图(JSP,Velocity,Freemarker等)的一种思路实现
查看>>
致初入模板创作:了解各种浏览器真正的核心,测试模板兼容时就不用开这么多浏览器...
查看>>
我的友情链接
查看>>
利用rsync备份邮件系统
查看>>