在属性网格中编辑自定义类型

时间:2010-11-19 08:48:34

标签: c#

我有一个班级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直接将值编辑为属性网格中的字符串?

1 个答案:

答案 0 :(得分:3)

也许您正在寻找自定义UITypeEditor
http://msdn.microsoft.com/en-us/library/ms171840.aspx

为了完整性,还要看TypeConverter
可用于允许简单编辑(例如从 - 到字符串),而无需自定义UITypeEditor
http://msdn.microsoft.com/en-us/library/ayybcxe5.aspx