我有自定義集合編輯器,我想以編程方式將項目添加到它的列表(集合),以便它們可以在列表框中可見。我該怎麼做?我知道CollectionEditor的爲addItems的方法,但它需要收集對象作爲參數,但我不能想出一個辦法讓CollectionEditor的內部列表對象...:/如何以編程方式將項目添加到CollectionEditor的列表/列表框/集合? [修改]
[更新] 唉..正確的方法名稱爲'SetItems' [/更新]
[更新2]的什麼,我試圖做 源代碼
public class MyCollectionEditor : CollectionEditor
{
private Type m_itemType = null;
public MyCollectionEditor(Type type)
: base(type)
{
m_itemType = type;
}
protected override CollectionForm CreateCollectionForm()
{
Button buttonLoadItem = new Button();
buttonLoadItem.Text = "Load from DB";
buttonLoadItem.Click += new EventHandler(ButtonLoadItem_Click);
m_collectionForm = base.CreateCollectionForm();
TableLayoutPanel panel1 = m_collectionForm.Controls[0] as TableLayoutPanel;
TableLayoutPanel panel2 = panel1.Controls[1] as TableLayoutPanel;
panel2.Controls.Add(buttonLoadItem);
return m_collectionForm;
}
private void ButtonLoadItem_Click(object sender, EventArgs e)
{
if (m_itemType.Equals(typeof(MyCustomCollection)))
{
MyCustomItem item = ...load from DB...
//definition: SetItems(object editValue, object[] value);
SetItems(-> what goes here?! <- , new object[] { item });
}
}
}
[/更新2]
+1發佈更新,以充分解釋他的解決方案!現在我們將看看它是否適用於我...;) – IAbstract 2010-02-07 22:57:43