sharp
sharp

Reputation: 105

How to let C# designer edit my struct property?

I am creating a custom Windows Forms control in C# with several custom properties. One of those properties is a simple struct with several integral fields:

public struct Test
{
    public int A, B;
}

Test _Test;

[Category("MyCategory")]
public Test TestProperty
{
    get { return _Test; }
    set { _Test = value; }
}

I want the Visual Studio designer to edit the fields of my structure the same way as it does for Size, Margins and other similar Windows Forms structures. Do I need to implement a custom property editor based on UITypeEditor class, or is there some common "structure editor" provided by .Net framework?

Upvotes: 3

Views: 4701

Answers (2)

sharp
sharp

Reputation: 105

This should do the trick:

[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; }
}

Upvotes: 5

JTorrecilla
JTorrecilla

Reputation: 208

You need to create your own designer. http://msdn.microsoft.com/en-us/magazine/cc164048.aspx

Upvotes: 0

Related Questions