前一章,我们创建了最简单的组件,今天讲讲Component的PropertyAttribute和EventAttribute。
EventAttribute有:
BrowsableAttribute 、CategoryAttribute、DescriptionAttribute、DefaultEventAttribute
PropertyAttribute有:
BrowsableAttribute 、CategoryAttribute、DescriptionAttribute、DefaultPropertyAttribute、DefaultValueAttribute、EditorAttribute
、DesignerSerializationVisibilityAttribute、TypeConverterAttribute、BindableAttribute、LocalizableAttribute
在本章教程中我们主要讲以上红色的Attribute,再下章的Designer UI会讲蓝色的Attribute,紫色的Attribute不作讲解。
上述的Attribute简明阐述如下:
BrowsableAttribute:在Property窗口中是否可见。
CategoryAttribute:Property或者Event所属的哪个组。
DescriptionAttribute:Property或者Event的简单描述。
DefaultEventAttribute:默认Event、。
DefaultPropertyAttribute:默认Property,选中组件,其Property窗口中默认选中在这个Property上。
DefaultValueAttribute:Property的默认值,选中组件,其Event窗口中默认选中在这个Event上。
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
namespace Components
{
// PropertyAttribute、EventAttribute分别放在Property、Event上,并[]括起来。
// DefaultPropertyAttribute、DefaultEventAttribute必须放在类头上。
[DefaultEvent("CustomerLogout")]
public class Customer : Component
{
private string _id;
private string _sex;
private int _age;
private string _address;
private DateTime _createTime;
// 没有CategoryAttribute、DescriptionAttribute。
public string Id
{
get { return _id; }
set { _id = value; }
}