自定义Button按钮
在Winform项目中,界面美观也是需要的,经常遇到界面元素不统一的情况,比如Button有大有小,比如都是保存,但每个页
面的快捷键还不一定相同,为在项目中统一元素,我将Button进行了封装,把常用的按钮统一到一个控件中:
1、首先定义一个Button类型枚举类
1 public enum ButtonType 2 { 3 /// <summary> 4 /// 保存 5 /// </summary> 6 Save = 0, 7 8 /// <summary> 9 /// 退出 10 /// </summary> 11 Quit = 1, 12 13 /// <summary> 14 /// 确定 15 /// </summary> 16 Confirm = 2, 17 18 /// <summary> 19 /// 取消 20 /// </summary> 21 Cancle = 3, 22 23 /// <summary> 24 /// 新建 25 /// </summary> 26 New = 4, 27 28 /// <summary> 29 /// 编辑 30 /// </summary> 31 Edit = 5, 32 33 /// <summary> 34 /// 删除 35 /// </summary> 36 Delete = 6, 37 38 /// <summary> 39 /// 查询 40 /// </summary> 41 Query = 7, 42 43 /// <summary> 44 /// 应用 45 /// </summary> 46 Apply = 8, 47 48 /// <summary> 49 /// 添加 50 /// </summary> 51 Add = 9, 52 53 /// <summary> 54 /// 自定义 55 /// </summary> 56 Other = 99 57 }
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 UcTool 11 { 12 public class UcButton : Button 13 { 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 /// <summary> 31 /// 按钮类型 32 /// </summary> 33 [Description("按钮类型")] 34 public ButtonType B_Type 35 { 36 get 37 { 38 return _B_Type; 39 } 40 set 41 { 42 _B_Type = value; 43 Text = ButtonDictionary[value]; 44 } 45 } 46 47 [Description("按钮文本")] 48 public new string Text 49 { 50 get { return base.Text; } 51 set { base.Text = value; } 52 } 53 54 #endregion 55 56 #region 一次性载入按钮字典 57 private static Dictionary<ButtonType, string> ButtonDictionary; 58 private void InitButtonDictionary() 59 { 60 if (ButtonDictionary == null || ButtonDictionary.Count == 0) 61 { 62 ButtonDictionary = new Dictionary<ButtonType, string>(); 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 #endregion 77 } 78 }
View Code
在使用的过程中遇到常用的按钮只需要修改该Button的【B_Type】属性即可,后期也可统一对按钮的样式进行调整;
转载于:https://www.cnblogs.com/Hua-Min/archive/2013/05/16/UC_Button.html
自定义Button按钮相关推荐
- Android 自定义Button按钮显示样式(正常、按下、获取焦点)
2019独角兽企业重金招聘Python工程师标准>>> 现在的用户对APP的外观看得很重要,如果APP内所有元件都用Android默认样式写,估计下面评论里就有一堆在骂UI丑的.今天 ...
- 纯CSS自定义button按钮的点击特效
纯css自定义button按钮的点击特效,实现背景变化 效果图如下: 代码如下: <!DOCTYPE html> <html> <head><meta cha ...
- android 自定义控件 焦点,Android 自定义Button按钮显示样式(正常、按下、获取焦点)...
现在的用户对APP的外观看得很重要,如果APP内所有元件都用Android默认样式写,估计下面评论里就有一堆在骂UI丑的.今天学习自定义Button按钮样式.Button样式修改的是Button的背景 ...
- 5.Qt自定义Button按钮的实现
1.编写自定义按钮 MyButton.h #ifndef MYBUTTON_H #define MYBUTTON_H #include <QWidget> /** * @brief ...
- wpf 自定义Button按钮
创建ButtonEx类 public class ButtonEx : Button{static ButtonEx(){DefaultStyleKeyProperty.OverrideMetadat ...
- Button按钮自定义样式
在进行UI设计时为了美观,可以自定义Button按钮的外观.比如自定义图片作为按钮的背景,直接将图片复制到项目的res/drawable/路径下,然后在xml文件中使用android:backgrou ...
- java 自定义形状按钮_制作自定义背景Button按钮、自定义形状Button的全攻略
在Android开发应用中,默认的Button是由系统渲染和管理大小的.而我们看到的成功的移动应用,都是有着酷炫的外观和使用体验的.因此,我们在开发产品的时候,需要对默认按钮进行美化.在本篇里,笔者结 ...
- C#,桌面编程入门(01)——按钮Button属性与事件、动态创建、快捷键、控件数组及自定义Button
本文是<桌面编程入门>系列文章的开山之篇. <桌面编程入门>系列文章主要介绍桌面编程的各种组件,Button,ComboBox,Panel,WebBrowser...... 类 ...
- iOS 自定义返回按钮,保留系统滑动返回
1.简介 使用苹果手机,最喜欢的就是用它的滑动返回.作为一个开发者,我们在编写很多页面的时候,总是会因为这样那样的原因使得系统的滑动返回不可用.使用导航栏push出一个控制器,我们在控制器中自定义了一 ...
- 自定义Button防止重复提交
由于网速问题,用户总是迫不及待的多次点击提交按钮,从而造成多次提交.以下通过自定义Button控件,来解决此问题. 原理:点击按钮后,通过设置其disabled属性为true来达到目的. 自定义But ...
最新文章
- 【产品干货】一个App的从无到有
- easyui-window 关闭事件,只要关闭窗口就会触发
- Hadoop webHDFS设置和使用说明
- hbuild 编译 php,Hbuilder的PHP环境搭建
- centos上部署java环境
- django模型_Django模型
- Leetcode 122.买卖股票的最佳时机II
- AES方式加解密的简单介绍
- 世上哪有那么多的怀才不遇
- keil交通灯c语言,用Keilc软件设计一个交通灯程序C程序
- 【网络安全】SQL注入详细分析
- QNX分布式实时操作系统初步认识-QNX系统了解认识
- 石家庄地铁站项目最终总结报告
- 2021全国大学生电子设计竞赛F题(智能送药小车)国一赛后总结
- 编写一个520表白网站并发布Web教程
- 红蜘蛛多媒体软件怎么停---超简单
- base64格式转换成普通png格式
- maven的pom文件引入依赖报错:提示无法处理 Cannot resolve...
- 猿创征文 | Python 开发工具进化之旅
- 谷歌要收购这家脑电波控制器公司
热门文章
- 图解Linux网络虚拟化相关的虚拟网卡-VETH/MACVLAN/MACVTAP/IPVLAN
- linux内核C -- 第08课:变参函数的格式检查——format
- 高通如何通过9008端口读取EMMC的分区
- STL---字符串使用方法
- 面向对象19:内部类
- hyper运算符_查询构造器
- db2 springboot 整合_Spring boot Mybatis 整合(完整版)
- jsp查询不到mysql内容_java查询到mysql数据库的数据,jspbean查询不到
- oracle 字段带数字,Oracle字符串中包含数字、特殊符号的排序
- oracle 访问adf 慢,ORACLE ADF 问题总结