Я понимаю, что это старая ветка, но в интересах других вот что случилось со мной. Проблема заключалась в том, как я применил атрибут Designer. Я создал дизайнерский класс. Дизайнер переопределил свойства PrefilterProperties, чтобы свойства Anchor, AutoScroll и AutoSize были доступны только для чтения.
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
public class j2aScrollableContainerDesigner : ParentControlDesigner
Я создал класс и добавил в него моего дизайнера. Это стандартный способ присоединения атрибута конструктора к классу, который встречается во многих примерах MSDN. Конструктор явно не использовался, потому что, когда я помещал свой элемент управления на поверхность конструктора Form, ни одно из упомянутых выше свойств не читалось только в таблице свойств.
[Designer(typeof(j2aScrollableContainerDesigner), typeof(ParentControlDesigner))]
public partial class j2aScrollableContainer : UserControl
В отчаянии я изменил объявление атрибута Designer в своем классе на следующую подпись, и теперь вызывался конструктор. У меня нет объяснения, почему один способ работает, а другой нет. Если я вернусь к описанному выше объявлению атрибута Designer, дизайнер перестанет работать снова.
[Designer(typeof(j2aScrollableContainerDesigner))]
public partial class j2aScrollableContainer : UserControl