我有一个 Windows 窗体项目,它似乎在设计视图中丢失了所有控件。当我运行该项目时,控件会按其应有的方式显示。对于这种形式,只有视觉工作室中的设计视图被破坏,所有其他形式都相同。
我尝试重新打开解决方案并重新打开文件,但无济于事。 我也尝试过清理和重建解决方案,但无济于事。 我制作了一个视频屏幕截图描述了问题
接下来我应该尝试什么?
您可能正在寻找的是“工具箱”。
我找了好久都迷失了。只需简单的 Ctrl+Alt+X 即可将其恢复。
有类似的问题(唯一的区别是,当我在调试模式下运行项目一两次时,控件是可见的,然后它们也消失了。)
我必须手动重新添加在Designer.cs 文件中丢失的代码。
这就是我的initializeComponent()方法已简化为:
private void InitializeComponent()
{
this.SuspendLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
我必须重新添加每个组件代码块,一次一个,就像这个 - listBox1:
private void InitializeComponent()
{
this.listBox1 = new System.Windows.Forms.ListBox();
this.SuspendLayout();
//
// listBox1
//
this.listBox1.FormattingEnabled = true;
this.listBox1.Location = new System.Drawing.Point(10, 10);
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(133, 43);
this.listBox1.TabIndex = 5;
//
// Form1
//
this.ClientSize = new System.Drawing.Size(550, 430);
this.Controls.Add(this.listBox1);
this.Name = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
当然,我不知道调色板坐标需要是什么。因此,我在代码中将 10,10 表示 x,y。然后切换到设计器视图。控件放置在左上角。在 Visual Studio 破坏我的夜晚之前,我使用设计器将其放回原来的位置。
确保在 InitializeComponent() 方法之后找到对控件的引用:
#endregion
private System.Windows.Forms.ListBox listBox1;
还有一个提示:如果您不知道 Designer.cs 类正在为您的特定控件寻找哪些属性,只需从工具箱中创建一个新属性,然后返回到代码以查看 Visual Studio 自动生成的内容那种控制类型。
快乐的足迹,下一小时吻别:)
看起来更像是在符文中调用另一种形式。
您应该捕获代码以了解应用程序的行为 (如表单代码和
program.cs
代码)。
可能您引用了在同一解决方案中定义的一些用户控件,但在不同的项目中,发生了什么变化,并且必须通过简单的解决方案/重建全部来解决。 如果不是,则可能是构建问题(混合 x86 和 x64 构建)
在 VS 2017 中,如果您从解决方案中排除 yourForm.Designer.cs,然后重新添加它应该可以解决问题。
检查问题是否是designer.cs嵌套不正确。它必须位于 .cs 文件下。如果没有,请右键单击并“从项目中排除”与表单关联的所有文件,然后将表单 (.cs) 重新添加回项目中。这将解决问题。
我在 Windows 10 (20H2) 上安装了 Visual Studio 2019(版本 16.11.5),并且我注意到自 WinForm 项目上次版本升级以来存在一个错误。 我有一个 WinForm 项目(.NET 4.8 目标),我添加了几个控件(按钮、标签和文本框),然后我开始添加一些代码,然后我回到 Form1.Design 选项卡,所有控件都消失了,所以我的解决方案是返回到 Form1.cs 选项卡,然后返回到 Form1.cs[Design] 选项卡,所有控件都会神奇地重新出现。 Visual Studio 设计选项卡中似乎缺少刷新。
我遇到了完全相同的问题:我的主窗体上的控件不再显示。
我关闭了应用程序并完全关闭,重新启动并重新打开 VB 2022。完全相同的表单现在显示所有控件,并且与原始版本一样工作!我没有更改任何代码!