次の方法で共有


ToolStripControlHost.OnSubscribeControlEvents(Control) メソッド

定義

ホストされるコントロールからイベントをサブスクライブします。

protected:
 virtual void OnSubscribeControlEvents(System::Windows::Forms::Control ^ control);
protected virtual void OnSubscribeControlEvents (System.Windows.Forms.Control control);
protected virtual void OnSubscribeControlEvents (System.Windows.Forms.Control? control);
abstract member OnSubscribeControlEvents : System.Windows.Forms.Control -> unit
override this.OnSubscribeControlEvents : System.Windows.Forms.Control -> unit
Protected Overridable Sub OnSubscribeControlEvents (control As Control)

パラメーター

control
Control

イベントをサブスクライブするコントロール。

次のコード例では、ホストされているコントロールによって公開されるイベントのイベント処理を設定する方法を示します。 このコード例は、ToolStripControlHost クラスのために提供されている大規模な例の一部です。

void OnSubscribeControlEvents( System::Windows::Forms::Control^ c )
{
   // Call the base so the base events are connected.
   __super::OnSubscribeControlEvents( c );
   
   // Cast the control to a MonthCalendar control.
   MonthCalendar^ monthCalendarControl = (MonthCalendar^)c;
   
   // Add the event.
   monthCalendarControl->DateChanged += gcnew DateRangeEventHandler( this, &ToolStripMonthCalendar::HandleDateChanged );
}
protected override void OnSubscribeControlEvents(Control c)
{
    // Call the base so the base events are connected.
    base.OnSubscribeControlEvents(c);

    // Cast the control to a MonthCalendar control.
    MonthCalendar monthCalendarControl = (MonthCalendar) c;

    // Add the event.
    monthCalendarControl.DateChanged +=
        new DateRangeEventHandler(OnDateChanged);
}
Protected Overrides Sub OnSubscribeControlEvents(ByVal c As Control) 

    ' Call the base so the base events are connected.
    MyBase.OnSubscribeControlEvents(c)
    
    ' Cast the control to a MonthCalendar control.
    Dim monthCalendarControl As MonthCalendar = _
        CType(c, MonthCalendar)

    ' Add the event.
    AddHandler monthCalendarControl.DateChanged, _
        AddressOf HandleDateChanged

End Sub

注釈

コントロール イベントの同期を OnSubscribeControlEvents 追加または禁止するには、 メソッドをオーバーライドします。

ここでイベントをオーバーライドしてフックする場合は、 メソッドを使用してイベントのフックを OnUnsubscribeControlEvents 解除します。

イベントを発生させると、イベント ハンドラーがデリゲートから呼び出されます。 詳細については、処理とイベントの発生 を参照してください。

OnSubscribeControlEvents メソッドを使用すると、デリゲートを結び付けずに、派生クラスでイベントを処理することもできます。 派生クラスでイベントを処理する場合は、この手法をお勧めします。

注意 (継承者)

派生クラスで OnSubscribeControlEvents(Control) をオーバーライドする場合は、登録されているデリゲートがイベントを受け取ることができるように、基本クラスの OnSubscribeControlEvents(Control) メソッドを呼び出してください。

適用対象