次の方法で共有


ControlBuilder.InDesigner プロパティ

定義

ControlBuilder がデザイナーで実行されているかどうかを示す値を返します。

protected:
 property bool InDesigner { bool get(); };
protected bool InDesigner { get; }
member this.InDesigner : bool
Protected ReadOnly Property InDesigner As Boolean

プロパティ値

Boolean

ControlBuilder がデザイナーで実行されている場合は true。それ以外の場合は false

次の例では、メソッドの InDesigner 呼び出し時にプロパティを NeedsTagInnerText 使用します。 コントロールにこのビルダーがアタッチされている場合、 NeedsTagInnerText メソッドは、デザイナーを通じてデザイン時にコントロールにアクセスするかどうかを決定します。 プロパティ NeedsTagInnerText の値を InDesigner 返し、メソッドが SetTagInnerText 呼び出されます。 プロパティが InDesigner 設定 falseされている場合は、an Exception がスローされます。 それ以外の場合は、呼び出しでコントロールの内部テキストが SetTagInnerText 返されます。

[AspNetHostingPermission(SecurityAction.Demand, 
    Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class MyControlControlBuilder : ControlBuilder
{
    private string _innerText;

    public override bool NeedsTagInnerText()
    {
        return InDesigner;
    }

    public override void SetTagInnerText(string text)
    {
        if (!InDesigner)
            throw new Exception("The control is not in design mode.");
        else
            _innerText = text;
    }
}
<AspNetHostingPermission(SecurityAction.Demand, _
  Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class MyControlControlBuilder
  Inherits ControlBuilder
    
    Private _innerText As String
    
    Overrides Public Function NeedsTagInnerText() As Boolean
      Return InDesigner
    End Function
    
    Overrides Public Sub SetTagInnerText(ByVal text As String)        
       If InDesigner = False
         Throw New System.Exception("The control is not in design mode.")
       Else
         _innerText = text
       End If
    End Sub
    
End Class

適用対象