FormViewDesigner.GetDesignTimeHtml Yöntem

Tanım

Tasarım zamanında ilişkili denetimi işlemek için kullanılan işaretlemeyi alır.

public:
 override System::String ^ GetDesignTimeHtml();
public override string GetDesignTimeHtml ();
override this.GetDesignTimeHtml : unit -> string
Public Overrides Function GetDesignTimeHtml () As String

Döndürülenler

String Tasarım zamanında işlemek için kullanılan işaretlemeyi FormView içeren.

Örnekler

Aşağıdaki kod örneği, tasarım zamanında denetimin GetDesignTimeHtml görünümünü değiştirmek için sınıfından devralınan FormViewDesigner bir sınıfta yönteminin FormView nasıl geçersiz kılındığını gösterir. Örnek, tanımlanmışsa Caption özelliğini içerecek Caption şekilde kılavuza yeni bir ilk satır ekler. BorderStyle veya değerinden türetilen FormViewNotSet denetimin özelliği iseNone, GetDesignTimeHtml kapsamını daha görünür hale getirmek için denetimin çevresine mavi kesikli bir kenarlık çizer. Örnek, denetimin çalışma zamanı görünümünü değiştirmez.

// Generate the design-time markup.
const string capTag = "caption";
const string trOpen = "tr><td colspan=9 align=center";
const string trClose = "td></tr";

public override string GetDesignTimeHtml()
{
    // Make the full extent of the control more visible in the designer.
    // If the border style is None or NotSet, change the border to
    // a wide, blue, dashed line. Include the caption within the border.
    MyFormView myGV = (MyFormView)Component;
    string markup = null;
    int charX;

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

        // Set the design-time properties and catch any exceptions.
        try
        {
            myGV.BorderStyle = BorderStyle.Dashed;
            myGV.BorderWidth = Unit.Pixel(3);
            myGV.BorderColor = Color.Blue;

            // 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.
            myGV.BorderStyle = oldBorderStyle;
            myGV.BorderWidth = oldBorderWidth;
            myGV.BorderColor = oldBorderColor;
        }
    }
    else
    {
        // Call the base method to generate the markup.
        markup = base.GetDesignTimeHtml();
    }

    // Look for a <caption> tag.
    if ((charX = markup.IndexOf(capTag)) > 0)
    {
        // Replace the first caption with 
        // "tr><td colspan=9 align=center".
        // It is okay if the colspan exceeds the 
        // number of columns in the table.
        markup = markup.Remove(charX,
            capTag.Length).Insert(charX, trOpen);

        // Replace the second caption with "td></tr".
        if ((charX = markup.IndexOf(capTag, charX)) > 0)
            markup = markup.Remove(charX,
                capTag.Length).Insert(charX, trClose);
    }
    return markup;
} // GetDesignTimeHtml
' Generate the design-time markup.
Private Const capTag As String = "caption"
Private Const trOpen As String = "tr><td colspan=9 align=center"
Private Const trClose As String = "td></tr"

Public Overrides Function GetDesignTimeHtml() As String

    ' Make the full extent of the control more visible in the designer.
    ' If the border style is None or NotSet, change the border to
    ' a wide, blue, dashed line. Include the caption within the border.
    Dim myGV As MyFormView = CType(Component, MyFormView)
    Dim markup As String = Nothing
    Dim charX As Integer

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

        Dim oldBorderStyle As BorderStyle = myGV.BorderStyle
        Dim oldBorderWidth As Unit = myGV.BorderWidth
        Dim oldBorderColor As Color = myGV.BorderColor

        ' Set the design-time properties and catch any exceptions.
        Try
            myGV.BorderStyle = BorderStyle.Dashed
            myGV.BorderWidth = Unit.Pixel(3)
            myGV.BorderColor = Color.Blue

            ' 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.
            myGV.BorderStyle = oldBorderStyle
            myGV.BorderWidth = oldBorderWidth
            myGV.BorderColor = oldBorderColor
        End Try

    Else
        ' Call the base method to generate the markup.
        markup = MyBase.GetDesignTimeHtml()
    End If

    ' Look for a <caption> tag.
    charX = markup.IndexOf(capTag)
    If charX > 0 Then

        ' Replace the first caption with 
        ' "tr><td colspan=9 align=center".
        ' It is okay if the colspan exceeds the 
        ' number of columns in the table.
        markup = markup.Remove(charX, _
            capTag.Length).Insert(charX, trOpen)

        ' Replace the second caption with "td></tr".
        charX = markup.IndexOf(capTag, charX)
        If charX > 0 Then
            markup = markup.Remove(charX, _
                capTag.Length).Insert(charX, trClose)
        End If
    End If

    Return markup

End Function ' GetDesignTimeHtml

Açıklamalar

Denetim için FormView bir öğe şablonu tanımlanmışsa, GetDesignTimeHtml veri kaynağı şeması alınamıyorsa yöntemi denetimin koleksiyonunu boş String bir diziye ayarlarDataKeyNames. , GetDesignTimeHtml yönteminin çağrısını TypeDescriptor zorlamak için PreFilterProperties nesnesini yeniler. ardından GetDesignTimeHtml işaretlemeyi oluşturmak için temel yöntemini çağırır.

Denetim için FormView hiçbir öğe şablonu tanımlanmamışsa, GetDesignTimeHtml bir yer tutucuya işlenen işaretleme oluşturmak için yöntemini çağırır GetEmptyDesignTimeHtml .

Devralanlara Notlar

yöntemini geçersiz kılarsanız GetDesignTimeHtml() , temel yöntemi çağırdığınızdan emin olun çünkü sonunda, birkaç geçersiz kılma düzeyi aracılığıyla, işaretlemeyi oluşturmak için denetimin FormView veya denetimin FormView bir kopyasını çağırır.

Şunlara uygulanır

Ayrıca bkz.