ButtonDesigner.GetDesignTimeHtml Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает разметку, используемую для отрисовки связанного элемента управления во время разработки.
public:
override System::String ^ GetDesignTimeHtml();
public override string GetDesignTimeHtml ();
override this.GetDesignTimeHtml : unit -> string
Public Overrides Function GetDesignTimeHtml () As String
Возвращаемое значение
Объект типа String, содержащий разметку, которая используется для отрисовки объекта Button во время разработки.
Примеры
В следующем примере кода показано, как переопределить GetDesignTimeHtml метод для изменения созданной разметки.
BorderStyle Если свойство не было задано ранее (то есть имеет NotSet значение поля), вызов GetDesignTimeHtml метода задает для него сине-пунктирную границу шириной в три пикселя, а затем отображает эту границу в области конструктора. BorderStyle Если свойство задано, отображаются существующие значения свойств границы.
Как правило, вызывает свой базовый GetDesignTimeHtml метод , ControlDesigner.GetDesignTimeHtmlкоторый вызывает Control.RenderControl метод связанного элемента управления для создания разметки.
' Create a class that derives from ButtonDesigner
' and displays the custom SampleButton control
' on the design surface.
Imports System.Web.UI.Design
Imports System.Drawing
Imports System.ComponentModel
Imports System.Web.UI.WebControls
Imports System.Web.UI.Design.WebControls
Namespace Examples.AspNet
Public Class SampleButtonDesigner
Inherits ButtonDesigner
' Override the GetDesignTimeHtml method.
Public Overrides Function GetDesignTimeHtml() As String
Dim sampleButton As SampleButton = CType(Component, SampleButton)
Dim designTimeHtml As String = Nothing
' Check the control's BorderStyle property
' to conditionally render design-time HTML.
If (sampleButton.BorderStyle = BorderStyle.NotSet) Then
' Create variables to hold current property settings.
Dim oldBorderStyle As BorderStyle = sampleButton.BorderStyle
Dim oldBorderWidth As Unit = sampleButton.BorderWidth
Dim oldBorderColor As Color = sampleButton.BorderColor
' Set properties and the design-time HTML.
Try
sampleButton.BorderStyle = BorderStyle.Dashed
sampleButton.BorderWidth = Unit.Pixel(3)
sampleButton.BorderColor = Color.Blue
designTimeHtml = MyBase.GetDesignTimeHtml()
' If an exception occurs, call the GetErrorDesignTimeHtml
' method.
Catch ex As Exception
designTimeHtml = GetErrorDesignTimeHtml(ex)
' Return properties to their original settings.
Finally
sampleButton.BorderStyle = oldBorderStyle
sampleButton.BorderWidth = oldBorderWidth
sampleButton.BorderColor = oldBorderColor
End Try
Else
designTimeHtml = MyBase.GetDesignTimeHtml()
End If
Return designTimeHtml
End Function
End Class
End Namespace
Комментарии
Метод GetDesignTimeHtml заменяет Text свойство на свойство элемента управления , IDButton если Text не содержит отображаемых символов. GetDesignTimeHtml Затем метод вызывает свой базовый метод , ControlDesigner.GetDesignTimeHtmlкоторый вызывает Control.RenderControl метод для создания разметки.
Примечания для тех, кто наследует этот метод
Если вы переопределяете GetDesignTimeHtml() метод, как правило, вы изменяете выбранные значения свойств, а затем вызываете базовый метод для создания разметки, а затем восстанавливаете свойства до исходных значений.