See the question and my original answer on StackOverflow

To edit properties inside an object (this is what you see for example with the winform editor with properties like Font, or Padding, ... where you can "expand" the oject clicking on the 'plus' icon) , you can use the ExpandableObjectConverter class, like this:

[TypeConverter(typeof(ExpandableObjectConverter))]
public class Correspondence
{
...
}

and remove the Browsable(false) of course:

public Correspondence Correspondence
{
    get;
    set;
}