EditorPartCollection 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 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 空实例。 构造函数的此重载由 EditorZone 其 CreateEditorParts 方法中的 类内部用来创建空集合对象。 然后,区域会创建子区域模板中声明的所有 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。