Windows 窗体控件消失了

问题描述 投票:0回答:9

我有一个 Windows 窗体项目,它似乎在设计视图中丢失了所有控件。当我运行该项目时,控件会按其应有的方式显示。对于这种形式,只有视觉工作室中的设计视图被破坏,所有其他形式都相同。

我尝试重新打开解决方案并重新打开文件,但无济于事。 我也尝试过清理和重建解决方案,但无济于事。 我制作了一个视频屏幕截图描述了问题

接下来我应该尝试什么?

c# winforms visual-studio screen controls
9个回答
9
投票

哇,真烦人!这让我抓狂,所以我浪费了 45 分钟试图修复它,而不必重新添加控件,这将是非常烦人的(而且这是过去几周在 VS 2017 中我第三次或第四次发生这种情况) 。

对我来说,解决方案是在设计器文件中找到我的控件(通过“转到实施”)。然后我发现该控件的“.Add”行根本就消失了?当我手动将其添加回来并保存后,它神奇地重新出现在我的 Windows 窗体设计视图中。下面的截图供参考。

我的设置:

  • Windows 7 x64
  • Visual Studio 2017 Pro x64
  • Windows C# 表单项目
  • 缺少的控件(大多数时候)位于面板对象内

3
投票

您可能正在寻找的是“工具箱”。

我找了好久都迷失了。只需简单的 Ctrl+Alt+X 即可将其恢复。


2
投票

有类似的问题(唯一的区别是,当我在调试模式下运行项目一两次时,控件是可见的,然后它们也消失了。)

我必须手动重新添加在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 自动生成的内容那种控制类型。

快乐的足迹,下一小时吻别:)


2
投票

看起来更像是在符文中调用另一种形式。

您应该捕获代码以了解应用程序的行为 (如表单代码和

program.cs
代码)。


1
投票

可能您引用了在同一解决方案中定义的一些用户控件,但在不同的项目中,发生了什么变化,并且必须通过简单的解决方案/重建全部来解决。 如果不是,则可能是构建问题(混合 x86 和 x64 构建)


1
投票

在 VS 2017 中,如果您从解决方案中排除 yourForm.Designer.cs,然后重新添加它应该可以解决问题。


0
投票

检查问题是否是designer.cs嵌套不正确。它必须位于 .cs 文件下。如果没有,请右键单击并“从项目中排除”与表单关联的所有文件,然后将表单 (.cs) 重新添加回项目中。这将解决问题。


0
投票

我在 Windows 10 (20H2) 上安装了 Visual Studio 2019(版本 16.11.5),并且我注意到自 WinForm 项目上次版本升级以来存在一个错误。 我有一个 WinForm 项目(.NET 4.8 目标),我添加了几个控件(按钮、标签和文本框),然后我开始添加一些代码,然后我回到 Form1.Design 选项卡,所有控件都消失了,所以我的解决方案是返回到 Form1.cs 选项卡,然后返回到 Form1.cs[Design] 选项卡,所有控件都会神奇地重新出现。 Visual Studio 设计选项卡中似乎缺少刷新。


0
投票

我遇到了完全相同的问题:我的主窗体上的控件不再显示。

我关闭了应用程序并完全关闭,重新启动并重新打开 VB 2022。完全相同的表单现在显示所有控件,并且与原始版本一样工作!我没有更改任何代码!

© www.soinside.com 2019 - 2024. All rights reserved.