2010-04-05 50 views
2

我是C#的新手,我一直在嘗試設計我自己的程序一段時間了。我遇到了一個名爲Property Grid的控件,它非常適合我,並且在谷歌搜索之後,我設法找到了如何使用attritubtes將各種屬性分割成不同的類別。c#在表格控件「屬性網格」嵌套的類別(子類別)

但我找不到任何有關將分類添加到其他分類的信息。任何人都可以闡明這個問題?謝謝。

+0

歡迎去吧!我使用第三。在設計時屬性網格中支持兩個級別的類別。在運行時使用的Property Grid很有趣,因爲您可以在控件,簡單類,組件等上使用它,但是您需要付出「反射」的代價來轉換字符串和「影響」對象「。 Matthew McDonald關於Pro .Net 2.0 WinForms and Controls的書在第13章和第26章中對Property Grid,自定義UI類型編輯器等有很好的報道。我轉向VS 2010 RC1,但尚未在此情況下調查PropertyGrid作爲運行時控制。 – BillW 2010-04-06 03:07:37

+0

http://www.codeproject.com/KB/tabs/PropertyGridValidation.aspx屬性網格 - 動態列表組合框,驗證,以及更多 作者:Dave Elliott 2008文章,2009年更新:作者仍在回答2月份的問題。2010.如果你看一下他在PropertyGrid的公共類ViewPersonCollection中使用'View TypeEditor'的源代碼示例:你可以看到他能夠將PropertyGrid中的treeview樣式嵌套降至三個或更多級別。注意:他的源代碼轉換爲VS 2010 RC1 FrameWork 3.5,除了必須手動設置啓動項目之外,沒有任何問題。 – BillW 2010-04-06 04:23:20

+1

謝謝,您的回覆表示感謝。我找到了一個解決方案 - 在我希望展開的類上使用屬性[TypeConverter(typeof(ExpandableObjectConverter))]。 – Cathering 2010-04-09 00:20:59

回答

1

PropertyGrid控件不支持「嵌套」類別。是否有什麼特別的,你正在嘗試做的(例如,你看起來似乎實現了你試圖實現功能的另一個應用程序),也許我們可以引導你在正確的方向...

+0

造成這種情況的主要原因是由於數量龐大的房產可能會導致房產網格導航無聊。例如:我有x,y,z的「Offset」。我也有其他一些特性,這些特性都會強烈地相互關聯。 – Cathering 2010-04-06 00:03:50

+0

是的,不幸的是,你可以做的事情不多。您可能可以使用自定義類型編輯器(請參閱http://msdn.microsoft.com/en-us/library/ms171839.aspx)執行某些操作 – 2010-04-06 00:31:03