MenuDesigner.GetDesignTimeHtml Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the markup that is used to render the associated control at design time.
public:
override System::String ^ GetDesignTimeHtml();
public override string GetDesignTimeHtml ();
override this.GetDesignTimeHtml : unit -> string
Public Overrides Function GetDesignTimeHtml () As String
Returns
A string containing the markup used to render the Menu at design time.
Examples
The following code example shows how to override the GetDesignTimeHtml method in a class that is inherited from the MenuDesigner class. The overridden method changes the appearance of a control that is derived from the Menu control at design time. The example draws an orange, dotted border around the control to make its extent more visible, if the BorderStyle property of the control is the NotSet or None value.
// 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 an orange dotted line.
MyMenu myMenuCtl = (MyMenu)ViewControl;
string markup = null;
// Check if the border style should be changed.
if (myMenuCtl.BorderStyle == BorderStyle.NotSet ||
myMenuCtl.BorderStyle == BorderStyle.None)
{
BorderStyle oldBorderStyle = myMenuCtl.BorderStyle;
Color oldBorderColor = myMenuCtl.BorderColor;
// Set the design-time properties and catch any exceptions.
try
{
myMenuCtl.BorderStyle = BorderStyle.Dotted;
myMenuCtl.BorderColor = Color.FromArgb(0xFF7F00);
// Call the base method to generate the markup.
markup = base.GetDesignTimeHtml();
}
catch (Exception ex)
{
markup = GetErrorDesignTimeHtml(ex);
}
finally
{
// Restore the properties to their original settings.
myMenuCtl.BorderStyle = oldBorderStyle;
myMenuCtl.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 an orange dotted line.
Dim myMenuCtl As MyMenu = CType(ViewControl, MyMenu)
Dim markup As String = Nothing
' Check if the border style should be changed.
If (myMenuCtl.BorderStyle = BorderStyle.NotSet Or _
myMenuCtl.BorderStyle = BorderStyle.None) Then
Dim oldBorderStyle As BorderStyle = myMenuCtl.BorderStyle
Dim oldBorderColor As Color = myMenuCtl.BorderColor
' Set the design-time properties and catch any exceptions.
Try
myMenuCtl.BorderStyle = BorderStyle.Dotted
myMenuCtl.BorderColor = Color.FromArgb(&HFF7F00)
' Call the base method to generate the markup.
markup = MyBase.GetDesignTimeHtml()
Catch ex As Exception
markup = GetErrorDesignTimeHtml(ex)
Finally
' Restore the properties to their original settings.
myMenuCtl.BorderStyle = oldBorderStyle
myMenuCtl.BorderColor = oldBorderColor
End Try
Else
' Call the base method to generate the markup.
markup = MyBase.GetDesignTimeHtml()
End If
Return markup
End Function ' GetDesignTimeHtml
Remarks
The GetDesignTimeHtml method calls the DataBind method to bind the design-time data source to the associated Menu control, and then the GetDesignTimeHtml calls the GetDesignModeState method to cause the Menu control to generate its static-view and dynamic-view markup. The GetDesignTimeHtml returns the markup for the current view. If the current view is not defined, the GetDesignTimeHtml calls the GetDesignTimeHtml base method.