2011-11-30 73 views
0

我希望通過Items屬性創建自定義控件。使用帶窗體的仿製藥

返回實現IList<Item>的類ItemColection是否安全?是否因爲我沒有在任何預先構建的控件中看到這一點?

實現此目的的最佳方式是什麼?

回答

0

這是沒有問題創建自IList繼承的控制類型的屬性。但是如果您正在構建控件,最好在設計時使PropertyGrid的屬性可編輯。爲了使其可編輯,您應該創建自己的收藏品,從CollectionBase繼承並創建該類型的屬性。

看看這篇文章:Creating a Custom Collection for Use in a PropertyGrid

而在這之後,不要忘記讓你的項目屬性在設計時可編輯通過設置適當的屬性:

[Browsable(true), DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] 
public YourItemsCollection Items 
{ 
    get { ... } 
    set { ... } 
} 
2

是的,你可以使用任何東西。表格是(只)一個班級。

您看不到示例主要是由於WinForms是.NET 1.0技術。自那時以來很少有增加或改變。

,除非你需要特定的功能,只是保持簡單:

public IList<ItemType> ItemsCollection { get ... set ... } 
+1

+1 - 雖然在一般你不」 t需要集合屬性上的setter。 – TrueWill

+0

正確的,或使其私密。我留下了一點原理圖,不想將問題解讀爲問題。 –