Share via


EditorPartCollection.CopyTo(EditorPart[], Int32) Método

Definición

Copia la colección en una matriz de controles EditorPart.

public:
 void CopyTo(cli::array <System::Web::UI::WebControls::WebParts::EditorPart ^> ^ array, int index);
public void CopyTo (System.Web.UI.WebControls.WebParts.EditorPart[] array, int index);
member this.CopyTo : System.Web.UI.WebControls.WebParts.EditorPart[] * int -> unit
Public Sub CopyTo (array As EditorPart(), index As Integer)

Parámetros

array
EditorPart[]

EditorPart que contiene la colección de controles copiada.

index
Int32

Posición inicial de la matriz en la que se va a colocar el contenido de la colección.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar el CopyTo método para crear una matriz personalizada de EditorPart controles. Para obtener el código completo necesario para ejecutar el ejemplo, consulte la sección Ejemplo de la información general de la EditorPartCollection clase.

El código del Button1_Click evento crea una matriz de EditorPart controles, agrega el LayoutEditorPart1 control a la matriz y, a continuación, usa el CopyTo método para copiar los controles del EditorPartCollection objeto a la matriz.

<!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>

Al cargar la página en un explorador, puede cambiar la página al modo de edición seleccionando Editar en el control de lista desplegable Modo de visualización. Puede hacer clic en el menú verbos (la flecha hacia abajo) en la barra de título del TextDisplayWebPart control y hacer clic en Editar para editar el control. Cuando la interfaz de usuario (UI) de edición está visible, puede ver todos los EditorPart controles. Si hace clic en el botón Crear EditorPartCollection , observará que los títulos de todos los controles de la matriz personalizada aparecen cerca de la parte inferior de la página.

Comentarios

El CopyTo método es útil cuando desea crear una matriz personalizada que pueda contener los EditorPart controles en el EditorPartCollection objeto, un subconjunto de esos controles o un superconjunto de esos controles.

Se aplica a

Consulte también