У меня была такая же проблема ... точно ... та же ошибка, за которой следовало исчезновение большинства элементов управления. Элементы управления, которые отсутствуют в конструкторе, являются моими пользовательскими элементами управления. Изменение, которое я сделал перед ошибкой и исчезновением, заключалось в добавлении конструктора к каждому производному классу элементов управления (т.е. моей части элемента управления). До сих пор я отмечал, что Control.Add (...) отсутствует для каждого из ста или около того исчезнувших элементов управления (из автоматически сгенерированного файла Form.designer.cs). Это тот момент, который, похоже, отличается от вашей ситуации, если вы запускаете diff в файле designer.cs между до и после сбоя. У меня определенно отсутствует Add () s.
Пока что мое решение - вручную добавить методы Add () в сгенерированный файл. Однако, очевидно, было бы полезно, если бы был какой-то способ заставить Visual Studio увидеть эту проблему и автоматически добавить элементы управления обратно. Тем не менее, я не могу придумать, каким образом VS мог знать, на данный момент, какие элементы управления добавить к какому родительскому элементу управления.
Например, до ошибки в моем файле designer.cs был определен следующий групповой блок:
//
// groupBox10
//
this.groupBox10.Controls.Add(this.checkBox_FincaDescription_ForRent);
this.groupBox10.Controls.Add(this.checkBox_FincaDescription_ForSale);
this.groupBox10.Location = new System.Drawing.Point(883, 67);
this.groupBox10.Name = "groupBox10";
this.groupBox10.Size = new System.Drawing.Size(310, 76);
this.groupBox10.TabIndex = 9;
this.groupBox10.TabStop = false;
this.groupBox10.Text = "Property Type";
После НЕУДАЧИ у меня есть следующий код, который был сгенерирован в результате ошибки или просто неспособности дизайнеров управлять моими пользовательскими элементами управления:
//
// groupBox10
//
this.groupBox10.Location = new System.Drawing.Point(883, 67);
this.groupBox10.Name = "groupBox10";
this.groupBox10.Size = new System.Drawing.Size(310, 76);
this.groupBox10.TabIndex = 9;
this.groupBox10.TabStop = false;
this.groupBox10.Text = "Property Type";
Это огромная ошибка для меня, так как у меня так много полей, которые нужно исправить вручную (хотя, к счастью, только несколько групповых блоков и хорошая резервная копия). Я читал о том, что с 2005 года у многих людей возникает такая же проблема, и я не могу поверить, что она не была решена.