当前位置: 首页 > news >正文

自定义扩展控件

项目创建

创建项目时要去选择类库

image

然后去删除这个Class1.cs文件

image

添加新项

在添加新项时去选择组件类

image

会得到:

image

删除这段代码

        public Component1(IContainer container){container.Add(this);InitializeComponent();}

会变成:

image

修改继承 ,这里我选择的是继承Button​ , 不过这里是没有的 ,需要添加引用—>程序集​ 去寻找System.Windows.Forms 添加引用即可 ,这里就已经可以正常使用了

image

自定义控件创建

可以引用图片资源 ,但是这里默认是没有的 ,需要自己去添加

添加:右键属性 ,点击创建即可

image

然后就是引入资源文件了

创建枚举​ , 在public partial class ButtonN : Button {} 的上方去选择创建 ,也就是跟他同一个等级

  /// <summary>/// <summary>/// 按钮图标/// </summary>/// </summary>public enum ButtonImage{/// <summary>/// 没有图标/// </summary>None,/// <summary>/// 确认图标/// </summary>Check,/// <summary>/// 关闭图标/// </summary>Close,/// <summary>/// 取消图标/// </summary>Cancel,/// <summary>/// 退后图标/// </summary>Back,/// <summary>/// 向下图标/// </summary>Down,/// <summary>/// 前进图标/// </summary>Go,/// <summary>/// 向上图标/// </summary>Up,/// <summary>/// 文件夹图标/// </summary>Folder,/// <summary>/// 刷新图标/// </summary>Refresh,/// <summary>/// 设置图标/// </summary>Setting,/// <summary>/// 文件打开图标/// </summary>FolderOpen,/// <summary>/// 文件删除图标/// </summary>DocumentDelete,/// <summary>/// 文件图标/// </summary>Document,/// <summary>/// 文件编辑图标/// </summary>DocumentEdit,/// <summary>/// 信息图标/// </summary>Info,/// <summary>/// 文件添加图标/// </summary>DocumentAdd,/// <summary>/// 全局图标/// </summary>Gobal,/// <summary>/// 计算图标/// </summary>Calculator,/// <summary>/// 日期图标/// </summary>Calendar,/// <summary>/// 打印图标/// </summary>Printer}

去选择使用

        private ButtonImage buttonImage=ButtonImage.None;[Browsable(true)][Category("自定义属性")][Description("设置或获取按钮样式")]public ButtonImage ButtonImage{get { return buttonImage; }set { buttonImage = value;switch (buttonImage){case ButtonImage.None:this.Image = null;this.TextAlign = ContentAlignment.MiddleCenter;break;case ButtonImage.Check:this.Image = Properties.Resources.check;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.Close:this.Image = Properties.Resources.close;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.Cancel:this.Image = Properties.Resources.cancel;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.Back:this.Image = Properties.Resources.back;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.Down:this.Image = Properties.Resources.down;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.Go:this.Image = Properties.Resources.go;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.Up:this.Image = Properties.Resources.up;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.Folder:this.Image = Properties.Resources.folder;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.Refresh:this.Image = Properties.Resources.refresh;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.Setting:this.Image = Properties.Resources.setting;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.FolderOpen:this.Image = Properties.Resources.folder_open;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.DocumentDelete:this.Image = Properties.Resources.document_delete;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.Document:this.Image = Properties.Resources.document;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.DocumentEdit:this.Image = Properties.Resources.document_edit;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.Info:this.Image = Properties.Resources.info;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.DocumentAdd:this.Image = Properties.Resources.document_add;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.Gobal:this.Image = Properties.Resources.web;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.Calculator:this.Image = Properties.Resources.calculator;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.Calendar:this.Image = Properties.Resources.calendar;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;case ButtonImage.Printer:this.Image = Properties.Resources.printer;this.ImageAlign = ContentAlignment.MiddleLeft;this.TextAlign = ContentAlignment.MiddleRight;break;default:break;}}}}

自定义控件库使用

首先设置好之后需要重新设置重新生成解决方案 , 然后在工具箱中就能够使用了

image

这里可以直接拖动 ,然后去选择这个自定义属性 ,到这里基本就已经算是基本完成了

image

http://www.sczhlp.com/news/156374/

相关文章:

  • 网站设计侵权网络营销者的应聘要求
  • 公司做网站需要准备什么东西景区网站建设
  • pop布局的网站公司网站转微信小程序
  • seo网站优化代码企业营销网站的建设
  • 自己人网站建设网页设计与网站制作
  • 不备案的网站有那些做微信公众号整合网站
  • 宁晋做网站长沙关键词优化首选
  • 做网站程序员上海it公司排名
  • 网站代理什么意思宜春网站建设公司联系方式
  • 陕西交通建设集团西镇分公司网站wordpress 别名转id
  • 从化网站建设优化推广赚钱网
  • 网站已收录的404页面的查询免费分类信息网站大全
  • 海外网站哪个最好wordpress ediclot
  • 博山网站seo成都双流 网站建设
  • 杭州建设信用网新网站做网站用虚拟服务器可以吗
  • dede音乐网站源码佛山网页公司
  • 电商网站建设与运行宁波建工工程集团有限公司
  • 餐饮o2o 网站建设生产企业网站如何做seo
  • 网站logo在线设计开发一款app得多少钱
  • 住宅城乡建设部门户网站环球设计网
  • 学网站建设要学什么网站建设可用性的五个方面
  • 行业网站建设多少钱新网站制作平台
  • 四川网站建设那家好淘宝搜索框去什么网站做
  • 宁夏建设注册中心网站芜湖企业做网站
  • 深圳网站域名网站建设的网页怎么做
  • 一个网站开发项目小组成员苏州汇聚人电子科技有限公司
  • 做网站用什么语网站开发算固定资产
  • 大型网站建设的必须条件企业简介宣传片视频
  • 深圳网站建设主页一加开发者模式怎么关闭
  • 信誉好的盐城网站建设搜狐快站做淘宝客网站