Конструктор уязвим к исключениям, которые вызываются кодом, выполняемым во время разработки.В том числе конструктор элементов управления и методов, таких как OnPaint (), OnResize () и так далее.Если у вас есть код, который не будет работать должным образом во время разработки, например, в зависимости от файла, находящегося в рабочем каталоге по умолчанию, для подключения к серверу dbase, и так далее, этот код может быть запущен с исключением.Сначала вы заметите экран сбоя, который выдает конструктор, и показ трассировки стека не часто полезен для диагностики причины, поскольку в нем есть много методов, которые являются внутренними для конструктора или сериализатора кода.Вторичный эффект заключается в том, что вы можете потерять содержимое в методе InitializeComponent (), когда происходит сбой сериализатора кода при попытке получить значение свойства для генерации кода для него.Что, несомненно, произошло в вашем случае, когда вы видите, что пропущены вызовы Controls.Add ().
Сохранение файла designer.cs после такого сбоя приводит к неприятностям.Восстановление ущерба может быть непростым делом, обычно лучше всего восстанавливать файлы исходного кода формы из вашей VCS.