转自:http://blog.sina.com.cn/s/blog_3f39ffb50100d5hu.html
1.WinForm中的用户控件继承自 UserControl,主要用于开发 Container 控件,Container控件可以添加其他Controls控件
自定义控件继承自 Control,主要用于开发windows控件的最基本的类,比如 Text,Button 控件
2.生成的用户控件添加到工具箱后默认使用一个齿轮状的图标,以下为设置自定义图标的方法:
20090724 (入题)最近用到自定义圆角按钮,由于系统按钮为标准矩形,因而这里需要自定义按钮
新建项目--新建项(自定义控件)
继承 Button 类
重写 OnPaint() 方法,使用 GraphicsPath 获取一个带有圆角的矩形路径,进行一些列填充后将当前对象的区域,也就是 Region 属性赋值为带圆角的矩形路径。
工作遇到的问题主要在于〔设计时属性〕
步骤为:
1.创建私有变量;
2.创建属性;
3.为属性添加〔设计时属性〕,诸如:
[Browsable(true)]
[Category("自定义属性")]--用于在控件属性设计器中显示,此设置为对属性进行分类。由于默认不存在这个分类项,则会新建。若不设置此属性,默认新增“杂项”分类项,并将属性置于其下若要将属性置于预定的分类中,引号中间填入默认分类项即可,比如: [Category("外观")],注意这里不区分中英文,“外观”分类项同样可以写作“Appearance”。
[Description("属性描述")]--此属性用于描述属性
[DefaultValue()]--属性默认值,这里的值包含多数数据类型,但是没有枚举类型,比如 Color 类型,这时要使用第二个重载,包括两个参数,第一个为目标类型,第二个为值的字符串表示,例如:
[DefaultEvent()]--属性默认事件
...
注意:
使用枚举的属性:
1.定义枚举
2.使用枚举定义私有变量和属性访问器
这样,在设计器中,此属性将提供枚举值的选项
以下是关于 Color 类的枚举属性