WinForm - 自定义控件
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 - 自定义控件的更多相关文章
- C# winform 自定义控件
近来因为项目的问题,开始研究winform自定义控件,这篇主要是将自定义控件的属性在属性编辑器中可编辑,如果你对自定义控件比较了解的,就不用继续往下看了 首先,我创建了一个类UserButton,继承 ...
- C#winform自定义控件模拟设计时界面鼠标移动和调节大小、选中效果
要想玩转Winform自定义控件需要对GDI+非常熟悉,对常用的控件有一些了解,好选择合适的基类控件来简化. 要点说明及代码 1)定义接口: using System; using System.Wi ...
- Winform自定义控件实例
本文转自http://www.cnblogs.com/hahacjh/archive/2010/04/29/1724125.html 写在前面: .Net已经成为许多软件公司的选择,而.Net自定义W ...
- winform 自定义控件:半透明Loading控件
winform 自定义控件:半透明Loading控件 by wgscd date:2015-05-05 效果: using System;using System.Drawing;using Sys ...
- c#Winform自定义控件-目录
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...
- (二)c#Winform自定义控件-按钮
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...
- (三)c#Winform自定义控件-有图标的按钮
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...
- (四)c#Winform自定义控件-选择按钮组
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...
- (七)c#Winform自定义控件-进度条
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...
- (三十)c#Winform自定义控件-文本框(三)
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...
随机推荐
- Linux系统Shell脚本第三章:for、while循环及脚本实操
目录 一.echo命令 二.查看当前系统的时间-date命令 三.for循环语句 四.while循环语句结构(迭代) 五.until 循环语句结构 六.continue和break 一.echo命令 ...
- 微服务笔记之Euraka(2)
Eureka Server启动过程 入口:SpringCloud充分利用了SpringBoot的自动装配的特点 Eureka-server的jar包,发现在MERA-INF下面有配置文件spring. ...
- Redis哨兵模式+缓存穿透、击穿和雪崩
一.哨兵模式概述(自动选主机的方式)主从切换技术:当主机宕机后,需要手动把一台从(slave)服务器切换为主服务器,这就需要人工干预,费时费力,还回造成一段时间内服务不可用,所以推荐哨兵架构(Sent ...
- Linux内核编译中的各类错误示例
1. do_gettimeofday()函数的使用 linux发行版:Ubuntu22.04 linux内核:5.15.0-52-generic 预编译内核:linux-6.0.1 添加在linux- ...
- pr导出mp4格式提示无法播放解决方案
pr导出mp4格式提示无法播放解决方案 1.这里的mp4格式就是导出的H.264格式 2. 这里选择导出,默认选项,导出视频有时候出现无法播放现象 3.另外,在视频右击的详细信息中没有任何数据 ...
- matlab算符合集
1.逻辑算符 1)且 : A & B -- 两个逻辑数组之间 逐个元素 进行逻辑"与"操作 AB可为矩阵. 首先判断表达式A的逻辑值,然后判断B,继而进行逻辑"与 ...
- 2017GPLT
PTA天梯赛2017GPLT 7-6 整除光棍 给定一个不以5结尾的奇数\(x\),求出数字\(n\)使得\(n*x=11...111\),输出数字n和1的位数 题解:模拟竖式除法 我们一开始发现n只 ...
- 【Java学习day04】Java文件的创建和Java代码的执行
Java文件的创建和Java代码的执行 随便新建一个文件夹,存放代码 在新建的文件夹里新建一个java文件 新建一个文本文档 将新建的文本文档重命名为hello.java 注意了!后缀必须改为.jav ...
- linux 动态库、静态库
库:可执行的二进制代码,不可以独立执行(没有main函数入口) 库是否兼容:取决于编译器.汇编器.链接器 linux链接静态库(.a):将库中用到的函数的代码指令,写入到可执行文件中.运行时无依赖 l ...
- Redis 实战(一)AOF 持久化配置和数据恢复
真枪实弹:AOF 持久化配置和数据恢复 大家好,我是悟空呀. 如果你曾经背过 RDB 和 AOF 的面试八股文,那么对 AOF 肯定不陌生,但如果只停留在应付面试阶段,对于提高自己的技术是远远不够的, ...