Sdílet prostřednictvím


LoginDesigner.GetDesignTimeHtml(DesignerRegionCollection) Metoda

Definice

Získá kód, který se používá k vykreslení přidruženého ovládacího prvku v době návrhu a naplní kolekci oblastí návrháře.

public:
 override System::String ^ GetDesignTimeHtml(System::Web::UI::Design::DesignerRegionCollection ^ regions);
public override string GetDesignTimeHtml (System.Web.UI.Design.DesignerRegionCollection regions);
override this.GetDesignTimeHtml : System.Web.UI.Design.DesignerRegionCollection -> string
Public Overrides Function GetDesignTimeHtml (regions As DesignerRegionCollection) As String

Parametry

regions
DesignerRegionCollection

A DesignerRegionCollection , do kterého jsou přidány definice oblastí s možností výběru a oblastí, na které lze kliknout v zobrazení v době návrhu ovládacího prvku.

Návraty

Řetězec obsahující značky použité k vykreslení v době návrhu Login .

Příklady

Následující příklad kódu ukazuje, jak přepsat metodu GetDesignTimeHtml ve třídě, která je zděděna z LoginDesigner třídy změnit vzhled ovládacího prvku, který je odvozen z ovládacího prvku v době návrhu Login . Příklad nakreslí kolem ovládacího prvku modré přerušované ohraničení, aby byl jeho rozsah viditelnější, pokud BorderStyle je NotSet vlastnost ovládacího prvku hodnota nebo 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. 
    MyLogin myLoginCtl = (MyLogin)ViewControl;
    string markup = null;

    // Check if the border style should be changed.
    if (myLoginCtl.BorderStyle == BorderStyle.NotSet ||
        myLoginCtl.BorderStyle == BorderStyle.None)
    {
        BorderStyle oldBorderStyle = myLoginCtl.BorderStyle;
        Color oldBorderColor = myLoginCtl.BorderColor;

        // Set the design time properties and catch any exceptions.
        try
        {
            myLoginCtl.BorderStyle = BorderStyle.Dashed;
            myLoginCtl.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 myLoginCtl As MyLogin = CType(ViewControl, MyLogin)
    Dim markup As String = Nothing

    ' Check if the border style should be changed.
    If (myLoginCtl.BorderStyle = BorderStyle.NotSet Or _
        myLoginCtl.BorderStyle = BorderStyle.None) Then

        Dim oldBorderStyle As BorderStyle = myLoginCtl.BorderStyle
        Dim oldBorderColor As Color = myLoginCtl.BorderColor

        ' Set the design time properties and catch any exceptions.
        Try
            myLoginCtl.BorderStyle = BorderStyle.Dashed
            myLoginCtl.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

Poznámky

Metoda GetDesignTimeHtml vytvoří objekt pro LayoutTemplate vlastnost přidruženého Login ovládacího prvku a přidá ho do objektuDesignerRegionCollection, na který odkazuje regions parametr.EditableDesignerRegion Metoda GetDesignTimeHtml používá základní metodu GetDesignTimeHtml k vygenerování kódu pro vykreslování ovládacího prvku v době návrhu Login .

Poznámky pro dědice

Pokud přepíšete metodu GetDesignTimeHtml(DesignerRegionCollection) , nezapomeňte volat základní metodu GetDesignTimeHtml() , protože nakonec prostřednictvím několika úrovní přepsání zavolá na Login ovládací prvek nebo kopii ovládacího prvku pro vygenerování značky.

Platí pro

Viz také