Я создал SubCtrl, наследуя UserControl. У него нет кода. Затем я создал Ctrl, который также наследует UserControl. В нем есть SubCtrl, и его единственный код означает его публичное раскрытие, чтобы он отображался в списке свойств Ctrl:
public subctrl.SubCtrl SUBCTRL
{
get { return this.subCtrl1; }
}
Затем я создал простой проект формы, в котором есть только Ctrl, а не код. Как я и хотел, SUBCTRL появляется в списке свойств Ctrl, поэтому я могу что-то изменить. Я изменил цвет фона (скажем, на красный), и subctrl стал красным в дизайнере.
Но волшебным образом, когда я запускаю проект, он снова становится стандартным серым. Похоже, что в Form1.Designer.cs не создается кода для изменения цвета задней части SUBCTRL на красный. Если я напишу это от руки, это работает, но я этого не хочу. Очевидно, это должно быть автоматически.
Ctrl, с другой стороны, ведет себя нормально. Код сгенерирован, и все работает нормально.
Что не так с субэлементом управления?