如何在c#的propertygrid中为枚举选择添加工具提示
本文关键字:枚举 选择 添加 工具提示 propertygrid | 更新日期: 2023-09-27 18:07:33
我刚刚发现了如何使用PropertyGrid的基本功能,我发现我的一些enum常量不是很清楚。当用户打开所有枚举常量的列表时,是否有可能出现他将鼠标悬停在哪个常量的工具提示?
例如,如果我在PropertyGrid中有一个名为SomeEnum的属性,其值为Enum1, Enum2, Enum3。当用户想要更改属性的值时,他拉下列表并将鼠标悬停在Enum1上,将出现一个工具提示,表示"这是Enum1"等等。
您可能希望覆盖这些S.O.帖子中描述的enum的默认转换为字符串的功能:
c# String enum
c#:如何使用类型转换器来本地化枚举
或此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
中显示的文本之间的转换。