2010-04-29 45 views
0

在System.Windows.Forms中,有一個PropertyGrid顯示附加對象的屬性。比方說MyTextBox : TextBoxPropertyGrid中的篩選器元素

現在,我想顯示它的一些MyTextBox屬性,只說SizeLocation和我的自定義屬性Date

不僅如此,我希望能夠更改不動產的名稱,比如說「維度」,「位置」和「起始日期」。

我看到兩個項目關於這個問題:firstsecond,但首先不能很好地工作(對於可瀏覽的屬性),並且第二個似乎爲每個屬性更改添加一個事件,這是不可接受的。

回答

0

您應該可以用[Browsable(false)]屬性隱藏它們。如果你想改變名稱,你需要編寫你自己的TypeDescriptor here

+0

是的,但我寫了一個TextBox。我無法用Browsablefalse屬性覆蓋所有TextBox的屬性。 – serhio 2010-04-29 16:21:06

+0

我的錯......我完全忽視了基類。您可以在我列出的CustomTypeDescriptor中使用相同的技術來篩選出您想要的屬性並更改它們的名稱。 – 2010-04-29 16:26:16

+0

相同的技術(?)..嗯..我試着它不編譯的代碼(在FriendlyNamePropertyDescriptor類中的未定義方法GetFriendlyname)標記:「//替換代碼返回一個友好名稱」,但我應該在那裏替換? – serhio 2010-04-29 16:32:48