Звучит безумно, но Visual Studio выборочно выполняет код для вашего контроля в конструкторе. Первое, что нужно проверить, это ваши конструкторы. Убедитесь, что у вас есть пустой конструктор по умолчанию, который общедоступен, даже если вы никогда не планируете его использовать. После этого убедитесь, что любой код, который вы привязали к событиям макета (например, изменение размера), подходит для этого, и, скорее всего, это виновники, поскольку в этом случае я всегда нахожу проблемы, когда мои собственные элементы управления не работают в конструкторе.