2013-03-01 159 views
1

我正在使用通用propertygrid編輯來自幾個自定義類的值。其中一些類具有集合,我可以在集合編輯器中毫無問題地打開這些集合。如果集合已經包含對象,我可以選擇這些對象並在右側進行編輯,但添加/刪除按鈕處於非活動狀態。WinForm propertygrid集合編輯器添加/刪除按鈕未激活

我知道其中一些集合將需要自定義編輯器,因爲它們非常複雜 - 但其中大多數都非常簡單。有沒有簡單的方法來激活這些簡單類的添加/刪除按鈕,還是我需要爲每個集合創建一個自定義編輯器?

回答

1

要啓用「添加和刪除」按鈕,您需要收集以實現非通用IList接口,顯然,屬性ReadOnly必須返回false

請注意,您需要在類上顯式實現,僅從派生自IList的類或接口派生(如IList<Something>)將而不是工作。

例如,下面是不正常:

public class MyStuffCollection : List<MyStuff> 
{ 
} 

及以下是確定:

public class MyStuffCollection : List<MyStuff>, IList 
{ 
} 
+0

謝謝,我不知道你所說的'在class'明確的實施意味着什麼 - - 你是說我必須構建自己的類,還是有.NET中的類明確實現它? – 2013-03-05 16:57:30

+0

這意味着你的課程必須直接從'IList'派生。從派生自IList的類或接口派生是不夠的。 – 2013-03-05 17:36:17

+0

因爲它需要從IList派生,這是否意味着我將無法使用SortedList或Dictionary之類的任何東西? – 2013-03-05 19:10:01

相關問題