LoginStatusDesigner.GetDesignTimeHtml 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得在設計階段用來呈現關聯控制項的標記。
public:
override System::String ^ GetDesignTimeHtml();
public override string GetDesignTimeHtml ();
override this.GetDesignTimeHtml : unit -> string
Public Overrides Function GetDesignTimeHtml () As String
傳回
字串,包含在設計階段用來呈現 LoginStatus 的標記。
範例
下列程式碼範例示範如何覆寫 GetDesignTimeHtml 繼承自 LoginStatusDesigner 類別的 類別中的 方法,以變更在設計階段衍生自 LoginStatus 類別的控制面板。 如果 BorderStyle 控制項的 屬性是 NotSet 或 None 值,本範例會在控制項周圍繪製藍色虛線框線,使其範圍更可見。
// Generate the design-time markup.
public override string GetDesignTimeHtml()
{
// Make the control more visible in the designer. If the border
// style is None or NotSet, change the border to a blue dashed line.
MyLoginStatus myLoginStatusCtl = (MyLoginStatus)ViewControl;
string markup = null;
// Check if the border style should be changed.
if (myLoginStatusCtl.BorderStyle == BorderStyle.NotSet ||
myLoginStatusCtl.BorderStyle == BorderStyle.None)
{
BorderStyle oldBorderStyle = myLoginStatusCtl.BorderStyle;
Color oldBorderColor = myLoginStatusCtl.BorderColor;
// Set the design time properties and catch any exceptions.
try
{
myLoginStatusCtl.BorderStyle = BorderStyle.Dashed;
myLoginStatusCtl.BorderColor = Color.Blue;
// Call the base method to generate the markup.
markup = base.GetDesignTimeHtml();
}
catch (Exception ex)
{
markup = GetErrorDesignTimeHtml(ex);
}
finally
{
// It is not necessary to restore the border properties
// to their original values because the ViewControl
// was used to reference the associated control and the
// UsePreviewControl was not overridden.
// myLoginCtl.BorderStyle = oldBorderStyle;
// myLoginCtl.BorderColor = oldBorderColor;
}
}
else
{
// Call the base method to generate the markup.
markup = base.GetDesignTimeHtml();
}
return markup;
} // GetDesignTimeHtml
' Generate the design-time markup.
Public Overrides Function GetDesignTimeHtml() As String
' Make the control more visible in the designer. If the border
' style is None or NotSet, change the border to a blue dashed line.
Dim myLoginStatusCtl As MyLoginStatus = _
CType(ViewControl, MyLoginStatus)
Dim markup As String = Nothing
' Check if the border style should be changed.
If (myLoginStatusCtl.BorderStyle = BorderStyle.NotSet Or _
myLoginStatusCtl.BorderStyle = BorderStyle.None) Then
Dim oldBorderStyle As BorderStyle = myLoginStatusCtl.BorderStyle
Dim oldBorderColor As Color = myLoginStatusCtl.BorderColor
' Set the design time properties and catch any exceptions.
Try
myLoginStatusCtl.BorderStyle = BorderStyle.Dashed
myLoginStatusCtl.BorderColor = Color.Blue
' Call the base method to generate the markup.
markup = MyBase.GetDesignTimeHtml()
Catch ex As Exception
markup = GetErrorDesignTimeHtml(ex)
Finally
' It is not necessary to restore the border properties
' to their original values because the ViewControl
' was used to reference the associated control and the
' UsePreviewControl was not overridden.
' myLoginCtl.BorderStyle = oldBorderStyle
' myLoginCtl.BorderColor = oldBorderColor
End Try
Else
' Call the base method to generate the markup.
markup = MyBase.GetDesignTimeHtml()
End If
Return markup
End Function ' GetDesignTimeHtml
備註
LogoutText如果 或 LoginText 屬性 (取決於使用者是否登入) 、 是 null
、空字串 (「」) 或單一空格 (「 」) ,方法 GetDesignTimeHtml 會將 或 LoginText 屬性適當地 LogoutText 設定為 ID 屬性,並以方括弧 (「[ ]」) 括住。 然後,不論 或 的 LoginText 設定為何, GetDesignTimeHtml 方法都會呼叫 GetDesignTimeHtml 基底方法,以產生控制項設計階段轉譯的 LoginStatusLogoutText 標記。
給繼承者的注意事項
如果您覆寫 GetDesignTimeHtml() 方法,請務必呼叫 GetDesignTimeHtml() 基底方法,因為它最終會透過數個覆寫層級、在控制項上 LoginStatus 呼叫 或 控制項的複本來產生標記。