如何在C#中的propertygrid中为工具提示添加工具提示?

时间:2011-09-02 01:09:31

标签: c# winforms tooltip propertygrid

我刚刚发现了如何使用PropertyGrid的基本功能,我发现我的一些枚举常量不是很明显。是否有可能当用户打开所有枚举常量的列表时,工具提示会出现在他将鼠标悬停在哪个常数上?

例如,如果我在PropertyGrid中有一个名为SomeEnum的属性,则值为Enum1,Enum2,Enum3。当用户想要更改属性的值时,他会关闭列表并将鼠标悬停在Enum1上,工具提示将显示“This is Enum1”等等。

2 个答案:

答案 0 :(得分:0)

我不相信有任何简单的方法可以用PropertyGrid做你所要求的。你真正应该做的是重命名你的枚举值,以更清楚地表达他们的目的;这有使您的源代码更易于理解的附加好处。

如果您需要指定有关通过PropertyGrid设置的特定属性的其他信息,可以使用DescriptionAttribute标记

[Description("This is my description of this property")]
public int Foo { get; set; }

如果您确实保持枚举值不变,则可以实现TypeConverter并标记使用TypeConverterAttribute的特定枚举的每个属性;这将允许您明确指定枚举值与PropertyGrid中显示的文本之间的转换。有关详细信息,请参阅this MSDN article

答案 1 :(得分:0)

您可能希望覆盖这些S.O.中描述的枚举的默认转换为字符串功能。帖子:

C# String enums

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

相关问题