簡體   English   中英

更改PropertyGrid中屬性項的值

[英]Change value for property item in PropertyGrid

在下圖中,“MyCars”是一個集合。 如果對象的屬性是集合,則在PropertyGrid中,如果選擇了該項,則該值將顯示為字符串“(Collection)”,並帶有右側的按鈕。

是否可以更改“(收集)”值? 如果是這樣,怎么樣? 我問的原因是因為我已經為我的程序中的PropertyGrid中出現的對象實現了一個自定義UITypeEditor。 到目前為止,右側的按鈕出現,但文本值與屬性的顯示名稱相同。 我想在那里出現一個不同的字符串。

示例propertygrid。

編輯:為了它的價值,我知道我可以從UITypeEditor覆蓋PaintValue方法並提供一個圖標,如果我無法解決這個問題,我可能最終會做,但我仍然想知道是否以及如何“ (收藏)“文字可以改變。

本文在PropertyGrid中自定義顯示集合數據可能會有所幫助。


** 更新 **

要提供文章的摘要版本(如果鏈接不可用),在PropertyGrid中自定義集合內容的顯示和描述所涉及的步驟如下:

  1. 通過從抽象基類PropertyDescriptor派生類來提供自定義屬性描述符。
  2. 覆蓋抽象方法和屬性。 DisplayName和description屬性提供適當的實現。
  3. 讓您的集合類實現ICustomTypeDescriptor接口。
  4. 通過GetProperties()方法返回自定義屬性描述符的集合。
  5. (可選)使用.NET提供的TypeConverter派生對象或實現自己的類來自定義域類的文本表示。 使用TypeConverterAttribute類將它們分配給適當的類或屬性。

要全局化PropertyGrid數據,可以將屬性描述符鏈接在一起(另請參見全球化屬性網格 )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM