次の方法で共有


ComponentChangingEventHandler デリゲート

ComponentChanging イベントを処理するメソッドを表します。

<Serializable>
<ComVisible(True)>
Public Delegate Sub ComponentChangingEventHandler( _   ByVal sender As Object, _   ByVal e As ComponentChangingEventArgs _)
[C#]
[Serializable]
[ComVisible(true)]
public delegate void ComponentChangingEventHandler(   object sender,   ComponentChangingEventArgs e);
[C++]
[Serializable]
[ComVisible(true)]
public __gc __delegate void ComponentChangingEventHandler(   Object* sender,   ComponentChangingEventArgs* e);

[JScript] JScript では、.NET Framework のデリゲートを利用することができます。ただし、独自に定義することはできません。

パラメータ [Visual Basic, C#, C++]

作成するイベント ハンドラは、ComponentChangingEventHandler クラスのデリゲート定義と同一のパラメータを持つ必要があります。

解説

ComponentChangingEventHandler デリゲートを作成する場合は、イベントを処理するメソッドを識別してください。イベントをイベント ハンドラに関連付けるには、デリゲートのインスタンスをイベントに追加します。デリゲートを削除しない限り、そのイベントが発生すると常にイベント ハンドラが呼び出されます。イベント ハンドラ デリゲートの詳細については、「 イベントとデリゲート 」を参照してください。

使用例

[Visual Basic, C#, C++] ComponentChangingEventHandler の登録と ComponentChanging イベントの処理の例を次に示します。

 
Public Sub LinkComponentChangingEvent(ByVal changeService As IComponentChangeService)
    ' Registers an event handler for the ComponentChanging event.
    AddHandler changeService.ComponentChanging, AddressOf Me.OnComponentChanging
End Sub

Private Sub OnComponentChanging(ByVal sender As Object, ByVal e As ComponentChangingEventArgs)
    ' Displays changing component information on the console.
    Console.WriteLine(("Type of the component that is about to change: " + e.Component.GetType().FullName))
    Console.WriteLine(("Name of the member of the component that is about to change: " + e.Member.Name))
End Sub

[C#] 
public void LinkComponentChangingEvent(IComponentChangeService changeService)
{
    // Registers an event handler for the ComponentChanging event.
    changeService.ComponentChanging += new ComponentChangingEventHandler(this.OnComponentChanging);            
}

private void OnComponentChanging(object sender, ComponentChangingEventArgs e)
{
    // Displays changing component information on the console.
    Console.WriteLine("Type of the component that is about to change: "+e.Component.GetType().FullName);      
    Console.WriteLine("Name of the member of the component that is about to change: "+e.Member.Name);                        
}

[C++] 
public:

    void LinkComponentChangingEvent(IComponentChangeService* changeService)
    {
        // Registers an event handler for the ComponentChanging event.
        changeService->ComponentChanging += new ComponentChangingEventHandler(this, &ComponentChangingEventHandlerExample::OnComponentChanging);
    }

private:

    void OnComponentChanging(Object* /*sender*/, ComponentChangingEventArgs* e)
    {
        // Displays changing component information on the console.
        Console::WriteLine(S"Type of the component that is about to change: ", e->Component->GetType()->FullName);
        Console::WriteLine(S"Name of the member of the component that is about to change: {0}", e->Member->Name);
    }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.ComponentModel.Design

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System (System.dll 内)

参照

System.ComponentModel.Design 名前空間 | ComponentChanging | ComponentChanged | ComponentChangingEventArgs | IComponentChangeService