次の方法で共有


ControlDesigner.OnClick(DesignerRegionMouseEventArgs) メソッド

定義

関連付けられているコントロールをデザイン時にユーザーがクリックすると、デザイン ホストによって呼び出されます。

protected:
 virtual void OnClick(System::Web::UI::Design::DesignerRegionMouseEventArgs ^ e);
protected virtual void OnClick (System.Web.UI.Design.DesignerRegionMouseEventArgs e);
abstract member OnClick : System.Web.UI.Design.DesignerRegionMouseEventArgs -> unit
override this.OnClick : System.Web.UI.Design.DesignerRegionMouseEventArgs -> unit
Protected Overridable Sub OnClick (e As DesignerRegionMouseEventArgs)

パラメーター

e
DesignerRegionMouseEventArgs

ユーザーによってクリックされた位置および (場合によっては) コントロール デザイナー領域を指定する DesignerRegionMouseEventArgs オブジェクト。

次のコード例は、コントロールのクリック可能な領域でイベントのハンドラー OnClick を使用し、オブジェクトを DesignerRegionMouseEventArgs 使用してクリックされている領域を識別する方法を示しています。

このコード例は、 クラスの大きなコード例の EditableDesignerRegion 一部です。

// Handler for the Click event, which provides the region in the arguments.
protected override void OnClick(DesignerRegionMouseEventArgs e)
{
    if (e.Region == null)
        return;

    // If the clicked region is not a header, return
    if (e.Region.Name.IndexOf("Header") != 0)
        return;

    // Switch the current view if required
    if (e.Region.Name.Substring(6, 1) != myControl.CurrentView.ToString())
    {
        myControl.CurrentView = int.Parse(e.Region.Name.Substring(6, 1));
        base.UpdateDesignTimeHtml();
    }
}
' Handler for the Click event, which provides the region in the arguments.
Protected Overrides Sub OnClick(ByVal e As DesignerRegionMouseEventArgs)
    If IsNothing(e.Region) Then
        Return
    End If

    ' If the clicked region is not a header, return
    If e.Region.Name.IndexOf("Header") <> 0 Then
        Return
    End If

    ' Switch the current view if required
    If e.Region.Name.Substring(6, 1) <> myControl.CurrentView.ToString() Then
        myControl.CurrentView = Integer.Parse(e.Region.Name.Substring(6, 1))
        MyBase.UpdateDesignTimeHtml()
    End If
End Sub

注釈

イベントは ViewEvent 、デザイン サーフェイス内のコントロールに対する特定のアクションに対して、デザイン ホストによって発生します。 たとえば、次の条件に対してイベントが発生します。

  • ユーザーがコントロールをクリックします。

  • コントロール デザイナーがデザインサーフェイスに描画されます。

  • ユーザーは、コントロールのテンプレート編集モードに入るか終了します。

クラスは ControlDesigner 、イベントを処理するための既定のデリゲートを IControlDesignerView.ViewEvent 提供します。 から ControlDesigner 派生したクラスは、 メソッドを OnClick オーバーライドして、ユーザーがコントロールをクリックしたときに発生するイベントを処理します。

OnClickメソッドは、派生クラスがデリゲートをアタッチせずにイベントを処理できるようにします。 派生クラスでイベントを処理する場合は、この手法をお勧めします。

メソッドの既定の実装では、 OnClick 処理を実行せずに が返されます。

注意 (継承者)

コントロールの OnClick(DesignerRegionMouseEventArgs) デザイン時クリック イベントを処理するには、 ControlDesigner クラスから派生するクラスの メソッドをオーバーライドします。 が null でない場合 e は、クリックされた領域 (存在する場合) が プロパティで Region 指定されます。

適用対象

こちらもご覧ください