我正在使用PropertyGrid來顯示來自我的對象的屬性。不過,我還允許用戶創建自己的屬性,併爲這些自定義屬性設置值。每個可以具有這些自定義屬性的對象都有一個Dictionary集合,其中字符串是標識屬性的唯一鍵,而Object是基元類型的值(字符串,布爾值,int等)。重置屬性網格中的屬性
I'我們使用get和set方法創建了一個自定義PropertyDescriptor,這些方法用於檢查字典是否有匹配鍵,或者分別使用匹配鍵創建/覆蓋值。
但是,我也想給用戶清除屬性的能力,從而完全從字典中刪除它的條目。我將代碼放在我的自定義PropertyDescriptor的ResetValue重寫方法中,但是我沒有看到通過PropertyGrid接口調用此方法的任何方法?它似乎不是一個上下文菜單選項或類似的東西。
所以,如果我有一個自定義的PropertyDescriptor與自定義的ResetValue方法,我怎麼實際從PropertyGrid喚起該方法?
啊是啊,我剛剛找到在MSDN上這篇文章也是如此。看起來這是最好的選擇。 http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/9dd7b9bf-4134-4105-aba8-65002fed04f2 – 2009-04-13 18:33:50
是的,對propGri.SelectedGridItem.Select()的調用似乎是清除一些更新問題。 – 2009-04-13 18:42:46