【问题标题】:Windows form controls disappearedWindows 窗体控件消失了
【发布时间】:2014-07-25 16:52:12
【问题描述】:

我有一个 Windows 窗体项目,它似乎在设计视图中丢失了所有控件。当我运行项目时,控件会按应有的方式显示。此表单在visual studio中仅破坏了设计视图,所有其他表单都相同。

我尝试重新打开解决方案并重新打开文件无济于事。 我也尝试过清理和重建解决方案,但无济于事。 我做了一个video screen capture 来描述这个问题

接下来我应该尝试什么?

【问题讨论】:

  • 您的表单可能在设计时抛出异常,不知何故被吞没了。启动另一个 Visual Studio 实例并使用 Tools + Attach to Process 附加到第一个实例。 Debug + Exceptions,勾选 Thrown 框,以便调试器在抛出异常时停止。

标签: c# winforms visual-studio screen controls


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    看起来更像是在 runetime 中调用了另一个表单。

    您应该已经捕获了代码以了解应用程序的行为 (如表单代码和program.cs 代码)。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        我不得不手动重新添加在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();
        
            }
        

        当然,我不知道调色板坐标需要是什么。所以,我在代码中为 x,y 输入了 10,10。然后切换到设计器视图。控件放置在左上角。在 Visual Studio 毁了我的夜晚之前,我使用设计器将它放回原处。

        确保在 InitializeComponent() 方法之后找到对控件的引用:

            #endregion
            private System.Windows.Forms.ListBox listBox1;
        

        另一个提示:如果您不知道 Designer.cs 类正在为您的特定控件寻找什么属性,只需从工具箱中创建一个新属性,然后返回代码查看 Visual Studio 自动生成的内容为该控件类型生成。

        快乐的小径,和下一个小时吻别:)

        【讨论】:

          【解决方案5】:

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

          【讨论】:

          • 我无法自行排除设计器文件。
          • 我自己尝试过——甚至添加到源代码管理中——但做不到。我还尝试将 Designer 文件从项目文件夹中移出并重新添加...遗憾的是没有用。好主意。
          【解决方案6】:

          哇,真烦人!这让我发疯了,所以我浪费了 45 分钟试图修复它,而不必重新添加非常烦人的控件(加上这是过去几周在 VS 2017 中发生的第 3 次或第 4 次) .

          对我来说,解决方案是在 Designer 文件中找到我的控件(通过“Go To Implementation”)。然后我发现那个控件的“.Add”行已经消失了?在我自己手动添加并保存后,它神奇地重新出现在我的 Windows 窗体设计视图中。以下截图供参考。

          我的设置:

          • Windows 7 x64
          • Visual Studio 2017 Pro x64
          • Windows C# 窗体项目
          • 缺少控件(大部分时间)位于面板对象中

          【讨论】:

          • 今天发生在我身上:ALL 控件消失了。我按照您的建议做了并解决了问题(Visual Studio 2013 社区版)。
          • 我有类似的问题,但在我的情况下,当我更改为另一种文化时,只有控制按钮(最大化、最小化和关闭)消失了。我尝试了这个解决方案,但在设计器中没有看到任何添加这些控件的代码。
          【解决方案7】:

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

          我迷路了这么久。只需简单的 Ctrl+Alt+X 即可恢复。

          【讨论】:

            【解决方案8】:

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2016-10-30
              • 1970-01-01
              • 1970-01-01
              • 2013-11-11
              • 2013-12-20
              • 1970-01-01
              • 2013-05-22
              • 1970-01-01
              相关资源
              最近更新 更多