如何让C#设计器编辑我的结构属性

本文关键字:编辑 我的 结构 属性 | 更新日期: 2023-09-27 17:57:37

我正在C#中创建一个具有多个自定义属性的自定义Windows窗体控件。其中一个属性是具有几个积分字段的简单结构:

public struct Test
{
    public int A, B;
}
Test _Test;
[Category("MyCategory")]
public Test TestProperty
{
    get { return _Test; }
    set { _Test = value; }
}

我希望Visual Studio设计器以与SizeMargins和其他类似的Windows窗体结构相同的方式编辑我的结构的字段。我需要实现一个基于UITypeEditor类的自定义属性编辑器吗?或者.Net框架提供了一些常见的"结构编辑器"吗?

如何让C#设计器编辑我的结构属性

这应该可以做到:

[TypeConverter(typeof(ExpandableObjectConverter))]
public struct Test
{
    public int _A, _B;
    public int B
    {
        get { return _B; }
        set { _B = value; }
    }
    public int A
    {
        get { return _A; }
        set { _A = value; }
    }
}
Test _Test;
[Category("MyCategory")]
public Test TestProperty
{
    get { return _Test; }
    set { _Test = value; }
}

您需要创建自己的设计器。http://msdn.microsoft.com/en-us/magazine/cc164048.aspx