EventDescriptor 类

提供有关事件的信息。

**命名空间:**System.ComponentModel
**程序集:**System(在 system.dll 中)

语法

声明
<ComVisibleAttribute(True)> _
Public MustInherit Class EventDescriptor
    Inherits MemberDescriptor
用法
Dim instance As EventDescriptor
[ComVisibleAttribute(true)] 
public abstract class EventDescriptor : MemberDescriptor
[ComVisibleAttribute(true)] 
public ref class EventDescriptor abstract : public MemberDescriptor
/** @attribute ComVisibleAttribute(true) */ 
public abstract class EventDescriptor extends MemberDescriptor
ComVisibleAttribute(true) 
public abstract class EventDescriptor extends MemberDescriptor

备注

EventDescriptor 包括名称、其属性、该事件绑定到的组件、事件委托、委托的类型以及该委托是否是多路广播。

EventDescriptor 提供以下 abstract 属性和方法:

有关事件的更多信息,请参见 引发事件。有关反射的更多信息,请参见 反射 中的主题。

提示

应用于此类的 HostProtectionAttribute 属性 (Attribute) 具有以下 Resources 属性 (Property) 值:SharedStateHostProtectionAttribute 不影响桌面应用程序(桌面应用程序一般通过双击图标,键入命令或在浏览器中输入 URL 启动)。有关更多信息,请参见 HostProtectionAttribute 类或 SQL Server 编程和宿主保护属性

示例

下面的代码示例是基于 EventDescriptorCollection 类中的示例生成的。该示例打印文本框中按钮的每个事件的信息(类别、说明和显示名称)。它要求已在窗体上实例化 button1textbox1

Dim events As EventDescriptorCollection = TypeDescriptor.GetEvents(Button1)
' Displays each event's information in the collection in a text box.
Dim myEvent As EventDescriptor
For Each myEvent In events
    TextBox1.Text &= myEvent.Category & ControlChars.Cr
    TextBox1.Text &= myEvent.Description & ControlChars.Cr
    TextBox1.Text &= myEvent.DisplayName & ControlChars.Cr
Next myEvent
EventDescriptorCollection events = TypeDescriptor.GetEvents(button1);
// Displays each event's information in the collection in a text box.
foreach (System.ComponentModel.EventDescriptor myEvent in events) {
    textBox1.Text += myEvent.Category + '\n';
    textBox1.Text += myEvent.Description + '\n';
    textBox1.Text += myEvent.DisplayName + '\n';
}
EventDescriptorCollection^ events = TypeDescriptor::GetEvents( button1 );

// Displays each event's information in the collection in a text box.
for each (EventDescriptor^ myEvent in events) {
    textBox1->Text += myEvent->Category + '\n';
    textBox1->Text += myEvent->Description + '\n';
    textBox1->Text += myEvent->DisplayName + '\n';
}
EventDescriptorCollection events = TypeDescriptor.GetEvents(button1);
System.ComponentModel.EventDescriptor myEvent = null;
// Displays each event's information in the collection in a text box.
for (int iCtr=0; iCtr < events.get_Count(); iCtr++) {
    myEvent = events.get_Item(iCtr);
    textBox1.set_Text(textBox1.get_Text() + myEvent.get_Category()
        + '\n');
    textBox1.set_Text(textBox1.get_Text() + myEvent.get_Description() 
        + '\n');
    textBox1.set_Text(textBox1.get_Text() + myEvent.get_DisplayName()
        + '\n');
}

继承层次结构

System.Object
   System.ComponentModel.MemberDescriptor
    System.ComponentModel.EventDescriptor

线程安全

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

EventDescriptor 成员
System.ComponentModel 命名空间
MemberDescriptor
Attribute