我有一个班级MinMax
,其中包含以下内容:
public class MinMax
{
private float m_min = 0;
private float m_max = 1;
public override string ToString()
{
return m_min + " " + m_max;
}
}
我还有另一个具有此类属性的类SomeClass
:
public MinMax Something
{
get
{
return m_something;
}
set
{
m_something = value;
}
}
当我在属性网格中放置SomeClass
类型的对象时,Something
被正确显示,但由于自然原因,我无法编辑该值。
我知道我可以创建自定义类型编辑器并显示自定义表单进行编辑,但我想直接编辑显示的字符串。
我的第一个解决方案是从string
返回Something
,但我还有其他代码需要以原生格式返回此属性。
是否有任何其他方便的解决方案让med直接将值编辑为属性网格中的字符串?
答案 0 :(得分:3)
也许您正在寻找自定义UITypeEditor
:
http://msdn.microsoft.com/en-us/library/ms171840.aspx
为了完整性,还要看TypeConverter
,
可用于允许简单编辑(例如从 - 到字符串),而无需自定义UITypeEditor
:
http://msdn.microsoft.com/en-us/library/ayybcxe5.aspx