我刚刚找到了如何使用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。