我剛剛找到了如何使用PropertyGrid中的基本功能,我發現我的一些枚舉常量不是很自我解釋。是否有可能當用戶打開所有枚舉常量的列表時,工具提示將出現在哪個常量上,並將鼠標懸停在其上?如何將工具提示添加到C#中propertygrid中的枚舉選擇?
例如,如果我有一個PropertyGrid中的屬性稱爲SomeEnum和值Enum1,Enum2,Enum3。當用戶想要更改屬性的值時,他將列表拖到列表中並懸停在Enum1上,工具提示將出現「This is Enum1」,等等。
我剛剛找到了如何使用PropertyGrid中的基本功能,我發現我的一些枚舉常量不是很自我解釋。是否有可能當用戶打開所有枚舉常量的列表時,工具提示將出現在哪個常量上,並將鼠標懸停在其上?如何將工具提示添加到C#中propertygrid中的枚舉選擇?
例如,如果我有一個PropertyGrid中的屬性稱爲SomeEnum和值Enum1,Enum2,Enum3。當用戶想要更改屬性的值時,他將列表拖到列表中並懸停在Enum1上,工具提示將出現「This is Enum1」,等等。
你想在這些S.O.描述覆蓋枚舉的默認轉換到字符串功能帖子:
C#: How to use a Type Converter to localize enums
或本MSDN文章:
http://msdn.microsoft.com/en-us/library/system.componentmodel.typeconverter%28VS.80%29.aspx
我不相信有任何簡單的方法做你與PropertyGrid
問。你應該做的是重新命名你的枚舉值以更清楚地表達它們的目的;這有助於使您的源代碼更易於理解。
如果需要指定有關多數民衆贊成被通過PropertyGrid
設置特定屬性更多的信息,您可以通過一個DescriptionAttribute
標記它這樣做的:
[Description("This is my description of this property")]
public int Foo { get; set; }
如果你在真的死心塌地保持你的枚舉值,因爲他們,你可能實現TypeConverter
和標誌使用與TypeConverterAttribute
特定枚舉每個屬性;這可以讓你明確指定枚舉值與PropertyGrid
中顯示的文本之間的轉換。有關更多詳細信息,請參閱this MSDN article。