Udostępnij za pośrednictwem


EditorPartCollection Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy EditorPartCollection.

Przeciążenia

EditorPartCollection()

Inicjuje puste nowe wystąpienie EditorPartCollection klasy.

EditorPartCollection(ICollection)

Inicjuje EditorPartCollection nowe wystąpienie klasy, przekazując ICollection kolekcję EditorPart kontrolek.

EditorPartCollection(EditorPartCollection, ICollection)

Inicjuje nowe wystąpienie EditorPartCollection klasy, przekazując EditorPartCollection kolekcję EditorPart kontrolek i ICollection kolekcję dodatkowych EditorPart kontrolek.

EditorPartCollection()

Inicjuje puste nowe wystąpienie EditorPartCollection klasy.

public:
 EditorPartCollection();
public EditorPartCollection ();
Public Sub New ()

Uwagi

Konstruktor EditorPartCollection inicjuje puste wystąpienie EditorPartCollection klasy. To przeciążenie konstruktora jest używane wewnętrznie przez EditorZone klasę w swojej CreateEditorParts metodzie w celu utworzenia pustego obiektu kolekcji. Następnie strefa tworzy wystąpienia wszystkich EditorPart kontrolek zadeklarowanych w szablonie strefy podrzędnej i używa metody wewnętrznej, aby dodać je do kolekcji.

Nie można użyć tego przeciążenia konstruktora EditorPartCollection do utworzenia nowego wystąpienia i dodania EditorPartEditorPartCollection do niego kontrolek. Należy zamiast tego użyć jednego z innych przeciążeń konstruktora EditorPartCollection .

Zobacz też

Dotyczy

EditorPartCollection(ICollection)

Inicjuje EditorPartCollection nowe wystąpienie klasy, przekazując ICollection kolekcję EditorPart kontrolek.

public:
 EditorPartCollection(System::Collections::ICollection ^ editorParts);
public EditorPartCollection (System.Collections.ICollection editorParts);
new System.Web.UI.WebControls.WebParts.EditorPartCollection : System.Collections.ICollection -> System.Web.UI.WebControls.WebParts.EditorPartCollection
Public Sub New (editorParts As ICollection)

Parametry

editorParts
ICollection

Kontrolki ICollectionEditorPart .

Przykłady

W poniższym przykładzie kodu pokazano, jak utworzyć niestandardowy element EditorPartCollection , a mimo że kolekcja jest tylko do odczytu, nadal wykonuje operację wsadową, aby zmienić poszczególne EditorPart kontrolki w kolekcji. Aby zapoznać się z pełnym kodem wymaganym do uruchomienia przykładu, zobacz sekcję Przykładowe EditorPartCollection omówienie klasy.

Kod w zdarzeniu Button1_Click tworzy ArrayList obiekt, dodaje dwa z trzech EditorPart kontrolek na stronie do obiektu, a następnie tworzy nowy EditorPartCollection obiekt przy użyciu konstruktora EditorPartCollection . Pokazuje również, jak można wprowadzać zmiany w podstawowych EditorPart kontrolkach, mimo że kolekcja jest tylko do odczytu.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  protected void Button1_Click(object sender, EventArgs e)
  {
    ArrayList list = new ArrayList(2);
    list.Add(AppearanceEditorPart1);
    list.Add(PropertyGridEditorPart1);
    // Pass an ICollection object to the constructor.
    EditorPartCollection myParts = new EditorPartCollection(list);
    foreach (EditorPart editor in myParts)
    {
      editor.BackColor = System.Drawing.Color.LightBlue;
      editor.Description = "My " + editor.DisplayTitle + " editor.";
    }

    // Use the IndexOf property to locate an EditorPart control.
    int propertyGridPart = myParts.IndexOf(PropertyGridEditorPart1);
    myParts[propertyGridPart].ChromeType = PartChromeType.TitleOnly;

    // Use the Contains method to see if an EditorPart exists.
    if(!myParts.Contains(LayoutEditorPart1))
      LayoutEditorPart1.BackColor = System.Drawing.Color.LightYellow;
    
    // Use the CopyTo method to create an array of EditorParts.
    EditorPart[] partArray = new EditorPart[3];
    partArray[0] = LayoutEditorPart1;
    myParts.CopyTo(partArray,1);
    Label1.Text = "<h3>EditorParts in Custom Array</h3>";
    foreach (EditorPart ePart in partArray)
    {
      Label1.Text += ePart.Title + "<br />";
    }

  }

</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Protected Sub Button1_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    Dim list As New ArrayList(2)
    list.Add(AppearanceEditorPart1)
    list.Add(PropertyGridEditorPart1)
    ' Pass an ICollection object to the constructor.
    Dim myParts As New EditorPartCollection(list)
    Dim editor As EditorPart
    For Each editor In myParts
      editor.BackColor = System.Drawing.Color.LightBlue
      editor.Description = "My " + editor.DisplayTitle + " editor."
    Next editor
    
    ' Use the IndexOf property to locate an EditorPart control.
    Dim propertyGridPart As Integer = _
      myParts.IndexOf(PropertyGridEditorPart1)
    myParts(propertyGridPart).ChromeType = PartChromeType.TitleOnly
    
    ' Use the Contains method to see if an EditorPart exists.
    If Not myParts.Contains(LayoutEditorPart1) Then
      LayoutEditorPart1.BackColor = System.Drawing.Color.LightYellow
    End If
    
    ' Use the CopyTo method to create an array of EditorParts.
    Dim partArray(2) As EditorPart
    partArray(0) = LayoutEditorPart1
    myParts.CopyTo(partArray, 1)
    Label1.Text = "<h3>EditorParts in Custom Array</h3>"
    Dim ePart As EditorPart
    For Each ePart In partArray
      Label1.Text += ePart.Title + "<br />"
    Next ePart

  End Sub

</script>

Stronę można załadować w przeglądarce i przełączyć stronę do trybu edycji, wybierając pozycję Edytuj w kontrolce listy rozwijanej Tryb wyświetlania . Możesz kliknąć menu czasowników (strzałkę w dół) na pasku TextDisplayWebPart tytułu kontrolki, a następnie kliknąć przycisk Edytuj , aby edytować kontrolkę. Gdy interfejs użytkownika edycji jest widoczny, można wyświetlić wszystkie kontrolki EditorPart . Kliknij przycisk Create EditorPartCollection (Utwórz edytorPartCollection ), aby wyświetlić efekty dla dwóch EditorPart kontrolek dodanych do EditorPartCollection obiektu.

Uwagi

Konstruktor EditorPartCollection inicjuje wystąpienie EditorPartCollection klasy i przekazuje w kolekcji EditorPart kontrolek. Jest to jedno przeciążenie konstruktora EditorPartCollection , którego można użyć do utworzenia nowego EditorPartCollection obiektu i dodania EditorPart do niego kontrolek.

Mimo że EditorPartCollection wystąpienie utworzone przez konstruktor jest tylko do odczytu, nadal można uzyskać dostęp do poszczególnych EditorPart kontrolek w kolekcji programowo i wywołać ich właściwości i metody.

Jednym z typowych scenariuszy użycia EditorPartCollection konstruktora jest wykonanie operacji wsadowej na całym zestawie EditorPart kontrolek, takich jak zmiana zawartości, wyglądu lub pozycji powiązanej grupy.

Innym typowym scenariuszem użycia konstruktora EditorPartCollection jest opracowywanie niestandardowych EditorPart kontrolek, które chcesz skojarzyć z kontrolką serwera, dzięki czemu użytkownicy mogą edytować właściwości niestandardowe w kontrolce. W tym scenariuszu kontrolka serwera musi zaimplementować IWebEditable interfejs, a w ramach tego zadania musi zaimplementować metodę CreateEditorParts . W tej metodzie, aby umożliwić kontrolkom niestandardowym EditorPart edytowanie kontrolki serwera, należy dodać kontrolki EditorPart do ICollection wystąpienia, takie jak ArrayList obiekt. Następnie możesz przekazać kolekcję EditorPart kontrolek do EditorPartCollection konstruktora, aby utworzyć nowy EditorPartCollection obiekt, którego EditorZoneBase strefa używa do skonfigurowania wszystkich kontrolek i rozpocząć proces edycji.

Zobacz też

Dotyczy

EditorPartCollection(EditorPartCollection, ICollection)

Inicjuje nowe wystąpienie EditorPartCollection klasy, przekazując EditorPartCollection kolekcję EditorPart kontrolek i ICollection kolekcję dodatkowych EditorPart kontrolek.

public:
 EditorPartCollection(System::Web::UI::WebControls::WebParts::EditorPartCollection ^ existingEditorParts, System::Collections::ICollection ^ editorParts);
public EditorPartCollection (System.Web.UI.WebControls.WebParts.EditorPartCollection existingEditorParts, System.Collections.ICollection editorParts);
new System.Web.UI.WebControls.WebParts.EditorPartCollection : System.Web.UI.WebControls.WebParts.EditorPartCollection * System.Collections.ICollection -> System.Web.UI.WebControls.WebParts.EditorPartCollection
Public Sub New (existingEditorParts As EditorPartCollection, editorParts As ICollection)

Parametry

existingEditorParts
EditorPartCollection

Kontrolki ICollection istniejące EditorPart w strefie.

editorParts
ICollection

Kontrolki ICollectionEditorPart nie są w strefie, ale tworzone programowo.

Zobacz też

Dotyczy