EditorPartCollection 构造函数

定义

初始化 EditorPartCollection 类的新实例。

重载

EditorPartCollection()

初始化 EditorPartCollection 类的空的新实例。

EditorPartCollection(ICollection)

通过传入 EditorPartCollection 控件的 ICollection 集合,初始化 EditorPart 类的新实例。

EditorPartCollection(EditorPartCollection, ICollection)

通过传入 EditorPartCollection 控件的 EditorPartCollection 集合和其他 EditorPart 控件的 ICollection 集合,初始化 EditorPart 类的新实例。

EditorPartCollection()

初始化 EditorPartCollection 类的空的新实例。

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

注解

构造 EditorPartCollection 函数初始化 类的 EditorPartCollection 空实例。 构造函数的此重载由 EditorZoneCreateEditorParts 方法中的 类内部用来创建空集合对象。 然后,区域会创建子区域模板中声明的所有 EditorPart 控件的实例,并使用内部方法将它们添加到集合中。

不能使用此构造函数的 EditorPartCollection 重载来创建 的新 EditorPartCollection 实例并向其添加 EditorPart 控件。 必须改用 EditorPartCollection 构造函数的其他重载之一。

另请参阅

适用于

EditorPartCollection(ICollection)

通过传入 EditorPartCollection 控件的 ICollection 集合,初始化 EditorPart 类的新实例。

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)

参数

editorParts
ICollection

ICollection 控件的 EditorPart

示例

下面的代码示例演示如何创建自定义 EditorPartCollection ,即使集合是只读的,仍执行批处理操作以更改集合中的单个 EditorPart 控件。 有关运行示例所需的完整代码,请参阅类概述的 EditorPartCollection “示例”部分。

事件中的Button1_Click代码创建对象,将页面中的三EditorPart个控件中的两个ArrayList添加到 对象,然后使用 构造函数创建新EditorPartCollection对象EditorPartCollection。 它还演示了如何对基础 EditorPart 控件进行更改,即使集合是只读的。

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

可以在浏览器中加载页面,并通过在“显示模式”下拉列表控件中选择“编辑”,将页面切换到编辑模式。 可以单击“谓词”菜单 (控件标题栏中 TextDisplayWebPart 的向下箭头) ,然后单击“ 编辑 ”以编辑控件。 当编辑用户界面 (UI) 可见时,可以看到所有 EditorPart 控件。 单击“创建编辑器”“部分”“集合”按钮以查看对添加到 EditorPartCollection 对象的两EditorPart个控件的效果。

注解

构造 EditorPartCollection 函数初始化 类的 EditorPartCollection 实例,并传入控件集合 EditorPart 。 这是构造函数的 EditorPartCollection 一个重载,可用于创建新 EditorPartCollection 对象并向其添加 EditorPart 控件。

即使 EditorPartCollection 构造函数创建的实例是只读的,你仍然可以以编程方式访问集合中的单个 EditorPart 控件,并调用其属性和方法。

使用 构造函数的 EditorPartCollection 一种常见方案是,如果要对整组 EditorPart 控件执行一些批处理操作,例如更改其相关组的内容、外观或位置。

使用 EditorPartCollection 构造函数的另一种常见方案是开发要与服务器控件关联的自定义 EditorPart 控件,以便用户可以编辑控件上的自定义属性。 在这种情况下,服务器控件必须实现 IWebEditable 接口,并且作为该任务的一部分,它必须实现 CreateEditorParts 方法。 在该方法中,若要使自定义EditorPart控件能够编辑服务器控件,必须将控件添加到EditorPartICollection实例(如 ArrayList 对象)。 然后,可以将控件集合 EditorPart 传递给 EditorPartCollection 构造函数以创建新 EditorPartCollection 对象, EditorZoneBase 区域使用该对象来设置所有控件并开始编辑过程。

另请参阅

适用于

EditorPartCollection(EditorPartCollection, ICollection)

通过传入 EditorPartCollection 控件的 EditorPartCollection 集合和其他 EditorPart 控件的 ICollection 集合,初始化 EditorPart 类的新实例。

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)

参数

existingEditorParts
EditorPartCollection

某个区域中现有 ICollection 控件的一个 EditorPart

editorParts
ICollection

不在区域中、但以编程方式创建的 ICollection 控件的 EditorPart

另请参阅

适用于