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.窗体继承引用

当然还有事件自定义

最新文章

  1. 使用 Spring 3 来创建 RESTful Web Services
  2. angular的工具方法笔记(equals, HashKey)
  3. RegexOne
  4. jQuery1.9.1针对checkbox的调整
  5. jsp页面中从forEach里向action里面传递其中的一个对象
  6. 如何用Visio画venn(维恩)图
  7. Java 读书笔记 (五) 目标数据类型转换
  8. 题解-CodeChef IOPC14L Sweets Problem
  9. Codeforces 576E Painting Edges [分治,并查集]
  10. Spark-Unit1-spark概述与安装部署
  11. 160CrackMe练手 002
  12. jenkins+ant+jmeter自动化性能测试平台
  13. Spring mvc Json 的正确返回姿势
  14. java 异常的限制
  15. React Native之进度条ProgressViewIOS的使用
  16. 201621123010《Java程序设计》第11周学习总结
  17. 三目运算符与if else的运行效率
  18. SpringMVC + Hibernate + MySQL 的简易网页搭建(Dao层 实现篇)
  19. [BZOJ2780][SPOJ8093]Sevenk Love Oimaster
  20. 动态规划:HDU-1398-Square Coins(母函数模板)

热门文章

  1. react lodash节流this找不到正确用法
  2. Python_基础_Print_转义字符和原字符
  3. administrator 启用
  4. 路飞之-后台日志封装-前后端分离的rbac项目演示-全局异常处理封装-封装Response-luffy数据库创建-软件开发模式-User模块用户表-django的配置文件-开启media访问
  5. PHP 静态延迟绑定 static
  6. windows terminal用ssh连接已重装的服务器提示REMOTE HOST IDENTIFICATION HAS CHANGED!
  7. 用telnet远程连接linux系统
  8. 监听异常:The listener supports no services
  9. python存储xml格式数据
  10. 【git】3.5 git分支-远程分支