WinForm 自定义控件 --- 系统自带类型属性

引用 https://blog.csdn.net/qq_34059233/article/details/119636338

以SunnyUI为栗

前言

自定义控件的时候,需要给自定义控件类添加一系列的属性;

正文

名词解释

1)CategoryAttribute

用于给属性分类;

2)DescriptionAttribute

用于当在设计时,鼠标点击到这个属性时,提示对该属性的描述,如下:

3)也可以给属性赋初值,就像ControlColor属性的初值是红色一样

从上面可以看出,如果属性的类型是int,枚举,string ,font,color,point ,image,我们都可以在属性窗口对该属性设置值,但是当属性的类型是结构体和自定义类的时候,就不能再属性窗口对属性直接设置值了。

4)DisplayName

用于改变显示到属性窗体的名称,改变前如下

5)DesignerSerializationVisibility

msdn的解释是:指定属性对设计时序列化程序所具有的可见性。

其实就是我们在设计器中设置的属性在form.designer.cs这个类中的怎么显示,显示多少相关信息

DesignerSerializationVisibility.Hidden 什么都不显示

DesignerSerializationVisibility.Visible 不显示集合中的详细成员

DesignerSerializationVisibility.Content 显示的非常详细,把集合中的元素(不一定是集合)都显示了

实例

以SunnyUI中 UIEditForm为栗子

相关引用

using System.ComponentModel;

1.创建窗体UIEditForm

2.后台逻辑代码

引用秘密

        [Category("SunnyUI"), Description("确定按钮点击事件")]
public event EventHandler ButtonOkClick; [Category("SunnyUI"), Description("取消按钮点击事件")]
public event EventHandler ButtonCancelClick; [Description("确定按钮可用状态"), Category("SunnyUI")]
[DefaultValue(true)]
public bool ButtonOKEnabled
{
get => btnOK.Enabled;
set => btnOK.Enabled = value;
} [Description("取消按钮可用状态"), Category("SunnyUI")]
[DefaultValue(true)]
public bool ButtonCancelEnabled
{
get => btnCancel.Enabled;
set => btnCancel.Enabled = value;
}
3.窗体继承引用

当然还有事件自定义

WinForm - 自定义控件的更多相关文章

  1. C# winform 自定义控件

    近来因为项目的问题,开始研究winform自定义控件,这篇主要是将自定义控件的属性在属性编辑器中可编辑,如果你对自定义控件比较了解的,就不用继续往下看了 首先,我创建了一个类UserButton,继承 ...

  2. C#winform自定义控件模拟设计时界面鼠标移动和调节大小、选中效果

    要想玩转Winform自定义控件需要对GDI+非常熟悉,对常用的控件有一些了解,好选择合适的基类控件来简化. 要点说明及代码 1)定义接口: using System; using System.Wi ...

  3. Winform自定义控件实例

    本文转自http://www.cnblogs.com/hahacjh/archive/2010/04/29/1724125.html 写在前面: .Net已经成为许多软件公司的选择,而.Net自定义W ...

  4. winform 自定义控件:半透明Loading控件

    winform  自定义控件:半透明Loading控件 by wgscd date:2015-05-05 效果: using System;using System.Drawing;using Sys ...

  5. c#Winform自定义控件-目录

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...

  6. (二)c#Winform自定义控件-按钮

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...

  7. (三)c#Winform自定义控件-有图标的按钮

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...

  8. (四)c#Winform自定义控件-选择按钮组

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...

  9. (七)c#Winform自定义控件-进度条

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...

  10. (三十)c#Winform自定义控件-文本框(三)

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...

随机推荐

  1. Linux系统Shell脚本第三章:for、while循环及脚本实操

    目录 一.echo命令 二.查看当前系统的时间-date命令 三.for循环语句 四.while循环语句结构(迭代) 五.until 循环语句结构 六.continue和break 一.echo命令 ...

  2. 微服务笔记之Euraka(2)

    Eureka Server启动过程 入口:SpringCloud充分利用了SpringBoot的自动装配的特点 Eureka-server的jar包,发现在MERA-INF下面有配置文件spring. ...

  3. Redis哨兵模式+缓存穿透、击穿和雪崩

    一.哨兵模式概述(自动选主机的方式)主从切换技术:当主机宕机后,需要手动把一台从(slave)服务器切换为主服务器,这就需要人工干预,费时费力,还回造成一段时间内服务不可用,所以推荐哨兵架构(Sent ...

  4. Linux内核编译中的各类错误示例

    1. do_gettimeofday()函数的使用 linux发行版:Ubuntu22.04 linux内核:5.15.0-52-generic 预编译内核:linux-6.0.1 添加在linux- ...

  5. pr导出mp4格式提示无法播放解决方案

    pr导出mp4格式提示无法播放解决方案  1.这里的mp4格式就是导出的H.264格式 2. 这里选择导出,默认选项,导出视频有时候出现无法播放现象  3.另外,在视频右击的详细信息中没有任何数据   ...

  6. matlab算符合集

    1.逻辑算符 1)且 : A & B -- 两个逻辑数组之间 逐个元素 进行逻辑"与"操作 AB可为矩阵. 首先判断表达式A的逻辑值,然后判断B,继而进行逻辑"与 ...

  7. 2017GPLT

    PTA天梯赛2017GPLT 7-6 整除光棍 给定一个不以5结尾的奇数\(x\),求出数字\(n\)使得\(n*x=11...111\),输出数字n和1的位数 题解:模拟竖式除法 我们一开始发现n只 ...

  8. 【Java学习day04】Java文件的创建和Java代码的执行

    Java文件的创建和Java代码的执行 随便新建一个文件夹,存放代码 在新建的文件夹里新建一个java文件 新建一个文本文档 将新建的文本文档重命名为hello.java 注意了!后缀必须改为.jav ...

  9. linux 动态库、静态库

    库:可执行的二进制代码,不可以独立执行(没有main函数入口) 库是否兼容:取决于编译器.汇编器.链接器 linux链接静态库(.a):将库中用到的函数的代码指令,写入到可执行文件中.运行时无依赖 l ...

  10. Redis 实战(一)AOF 持久化配置和数据恢复

    真枪实弹:AOF 持久化配置和数据恢复 大家好,我是悟空呀. 如果你曾经背过 RDB 和 AOF 的面试八股文,那么对 AOF 肯定不陌生,但如果只停留在应付面试阶段,对于提高自己的技术是远远不够的, ...