ComponentChanged イベントを処理するメソッドを表します。
<Serializable>
<ComVisible(True)>
Public Delegate Sub ComponentChangedEventHandler( _ ByVal sender As Object, _ ByVal e As ComponentChangedEventArgs _)
[C#]
[Serializable]
[ComVisible(true)]
public delegate void ComponentChangedEventHandler( object sender, ComponentChangedEventArgs e);
[C++]
[Serializable]
[ComVisible(true)]
public __gc __delegate void ComponentChangedEventHandler( Object* sender, ComponentChangedEventArgs* e);
[JScript] JScript では、.NET Framework のデリゲートを利用することができます。ただし、独自に定義することはできません。
パラメータ [Visual Basic, C#, C++]
作成するイベント ハンドラは、ComponentChangedEventHandler クラスのデリゲート定義と同一のパラメータを持つ必要があります。
- sender
イベントのソース。 - e
イベント データを格納している ComponentChangedEventArgs 。
解説
ComponentChangedEventHandler デリゲートを作成する場合は、イベントを処理するメソッドを識別してください。イベントをイベント ハンドラに関連付けるには、デリゲートのインスタンスをイベントに追加します。デリゲートを削除しない限り、そのイベントが発生すると常にイベント ハンドラが呼び出されます。イベント ハンドラ デリゲートの詳細については、「 イベントとデリゲート 」を参照してください。
フォームの読み込み時またはアンロード時には変更が当然行われるため、これらの処理時には ComponentChanged イベントは発生しません。
使用例
[Visual Basic, C#, C++] 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
[C#]
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());
}
[C++]
public:
void LinkComponentChangedEvent(IComponentChangeService* changeService)
{
// Registers an event handler for the ComponentChanged event.
changeService->ComponentChanged += new ComponentChangedEventHandler(this, &ComponentChangedEventHandlerExample::OnComponentChanged);
}
private:
void OnComponentChanged(Object* /*sender*/, ComponentChangedEventArgs* e)
{
// Displays changed component information on the console.
Console::WriteLine(S"Type of the component that has changed: {0}", e->Component->GetType()->FullName);
Console::WriteLine(S"Name of the member of the component that has changed: {0}", e->Member->Name);
Console::WriteLine(S"Old value of the member: {0}", e->OldValue);
Console::WriteLine(S"New value of the member: {0}", e->NewValue);
}
[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 名前空間 | ComponentChanged | ComponentChanging | ComponentChangedEventArgs | IComponentChangeService