我希望通過Items屬性創建自定義控件。使用帶窗體的仿製藥
返回實現IList<Item>
的類ItemColection
是否安全?是否因爲我沒有在任何預先構建的控件中看到這一點?
實現此目的的最佳方式是什麼?
我希望通過Items屬性創建自定義控件。使用帶窗體的仿製藥
返回實現IList<Item>
的類ItemColection
是否安全?是否因爲我沒有在任何預先構建的控件中看到這一點?
實現此目的的最佳方式是什麼?
這是沒有問題創建自IList繼承的控制類型的屬性。但是如果您正在構建控件,最好在設計時使PropertyGrid的屬性可編輯。爲了使其可編輯,您應該創建自己的收藏品,從CollectionBase繼承並創建該類型的屬性。
看看這篇文章:Creating a Custom Collection for Use in a PropertyGrid
而在這之後,不要忘記讓你的項目屬性在設計時可編輯通過設置適當的屬性:
[Browsable(true), DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public YourItemsCollection Items
{
get { ... }
set { ... }
}
是的,你可以使用任何東西。表格是(只)一個班級。
您看不到示例主要是由於WinForms是.NET 1.0技術。自那時以來很少有增加或改變。
,除非你需要特定的功能,只是保持簡單:
public IList<ItemType> ItemsCollection { get ... set ... }
+1 - 雖然在一般你不」 t需要集合屬性上的setter。 – TrueWill
正確的,或使其私密。我留下了一點原理圖,不想將問題解讀爲問題。 –