ComponentChangedEventHandler 委托

表示将处理 ComponentChanged 事件的方法。

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

语法

声明
<ComVisibleAttribute(True)> _
Public Delegate Sub ComponentChangedEventHandler ( _
    sender As Object, _
    e As ComponentChangedEventArgs _
)
用法
Dim instance As New ComponentChangedEventHandler(AddressOf HandlerMethod)
[ComVisibleAttribute(true)] 
public delegate void ComponentChangedEventHandler (
    Object sender,
    ComponentChangedEventArgs e
)
[ComVisibleAttribute(true)] 
public delegate void ComponentChangedEventHandler (
    Object^ sender, 
    ComponentChangedEventArgs^ e
)
/** @delegate */
/** @attribute ComVisibleAttribute(true) */ 
public delegate void ComponentChangedEventHandler (
    Object sender, 
    ComponentChangedEventArgs e
)
JScript 支持使用委托,但不支持进行新的声明。

参数

  • sender
    事件源。

备注

当创建 ComponentChangedEventHandler 委托时,将标识处理事件的方法。若要使该事件与事件处理程序相关联,请将该委托的一个实例添加到事件中。除非移除了该委托,否则每当发生该事件时就调用事件处理程序。有关事件处理程序委托的更多信息,请参见 事件和委托

在加载或卸载窗体的过程中,由于需要进行更改,将不会引发 ComponentChanged 事件。

提示

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

示例

此示例说明如何注册 ComponentChangedEventHandler 和处理 ComponentChanged 事件。

Public Sub LinkComponentChangedEvent(ByVal changeService As IComponentChangeService)
    ' Registers an event handler for the ComponentChanged event.
    AddHandler changeService.ComponentChanged, AddressOf Me.OnComponentChanged
End Sub

Private Sub OnComponentChanged(ByVal sender As Object, ByVal e As ComponentChangedEventArgs)
    ' Displays changed component information on the console.            
    Console.WriteLine(("Type of the component that has changed: " + e.Component.GetType().FullName))
    Console.WriteLine(("Name of the member of the component that has changed: " + e.Member.Name))
    Console.WriteLine(("Old value of the member: " + e.OldValue.ToString()))
    Console.WriteLine(("New value of the member: " + e.NewValue.ToString()))
End Sub
public void LinkComponentChangedEvent(IComponentChangeService changeService)
{
    // Registers an event handler for the ComponentChanged event.
    changeService.ComponentChanged += new ComponentChangedEventHandler(this.OnComponentChanged);            
}

private void OnComponentChanged(object sender, ComponentChangedEventArgs e)
{
    // Displays changed component information on the console.
    Console.WriteLine("Type of the component that has changed: "+e.Component.GetType().FullName);      
    Console.WriteLine("Name of the member of the component that has changed: "+e.Member.Name);            
    Console.WriteLine("Old value of the member: "+e.OldValue.ToString());
    Console.WriteLine("New value of the member: "+e.NewValue.ToString());
}
public:
   void LinkComponentChangedEvent( IComponentChangeService^ changeService )
   {
      // Registers an event handler for the ComponentChanged event.
      changeService->ComponentChanged += gcnew ComponentChangedEventHandler(
         this, &ComponentChangedEventHandlerExample::OnComponentChanged );
   }

private:
   void OnComponentChanged( Object^ sender, ComponentChangedEventArgs^ e )
   {
      // Displays changed component information on the console.
      Console::WriteLine( "Type of the component that has changed: " +
         e->Component->GetType()->FullName );
      Console::WriteLine( "Name of the member of the component that has changed: " +
         e->Member->Name );
      Console::WriteLine( "Old value of the member: " + e->OldValue );
      Console::WriteLine( "New value of the member: " + e->NewValue );
   }
public void LinkComponentChangedEvent(IComponentChangeService changeService)
{
    // Registers an event handler for the ComponentChanged event.
    changeService.add_ComponentChanged(new 
        ComponentChangedEventHandler(this.OnComponentChanged));
} //LinkComponentChangedEvent

private void OnComponentChanged(Object sender, ComponentChangedEventArgs e)
{
    // Displays changed component information on the console.
    Console.WriteLine("Type of the component that has changed: " 
        + e.get_Component().GetType().get_FullName());
    Console.WriteLine("Name of the member of the component "
        + "that has changed: " + e.get_Member().get_Name());
    Console.WriteLine("Old value of the member: " 
        + e.get_OldValue().ToString());
    Console.WriteLine("New value of the member: " 
        + e.get_NewValue().ToString());
} //OnComponentChanged

平台

Windows 98、Windows 2000 SP4、Windows Millennium Edition、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

请参见

参考

System.ComponentModel.Design 命名空间
ComponentChanged
ComponentChanging
ComponentChangedEventArgs 类
IComponentChangeService