我有一個使用.NET PropertyGrid控件的Windows應用程序。是否可以更改用於屬性值字段的控件類型?如何更改在.NET PropertyGrid中使用的控件的類型
我希望能夠使用RichTextBox來更好地設置輸入值的格式。 這可以在不創建自定義編輯器類的情況下完成嗎?
我有一個使用.NET PropertyGrid控件的Windows應用程序。是否可以更改用於屬性值字段的控件類型?如何更改在.NET PropertyGrid中使用的控件的類型
我希望能夠使用RichTextBox來更好地設置輸入值的格式。 這可以在不創建自定義編輯器類的情況下完成嗎?
要在用戶選擇屬性網格值時添加自己的自定義編輯,您需要實現從UITypeEditor派生的類。然後,您可以選擇在屬性區域下方顯示一個小的彈出窗口或完整的對話框。
好的是你可以重用現有的實現。因此,要增加多編輯字符串你只是這樣做的能力...
[Editor(typeof(MultilineStringEditor), typeof(UITypeEditor))]
public override string Text
{
get { return _string; }
set { _string = value; }
}
他們爲您提供的另一個不錯的一個是編輯字符串數組的能力...
[Editor("System.Windows.Forms.Design.StringArrayEditor,
System.Design, Version=2.0.0.0,
Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a",
typeof(UITypeEditor))]
public string[] Lines
{
get { return _lines; }
set { _lines = value; }
}
我覺得你要找的是自定義類型描述符。 你可以讀一點,並開始在這裏:http://www.codeproject.com/KB/miscctrl/bending_property.aspx
我不知道你可以做任何你想要的控制,但那篇文章讓我開始在propertygrids上。
您可以控制PropertyGrid是顯示簡單編輯框,下拉箭頭還是省略號控件。
查找EditorAttribute,並從那裏按照它。我確實有一個樣本;我會盡力挖掘出來。
謝謝。那太完美了! 除了typeof(UITypeEditor)之外,你可以使用「System.Drawing.Design.UITypeEditor,System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a」 發現一些編譯錯誤 – 2008-09-17 17:56:15