[英]Windows form controls disappeared
我有一個 windows 窗體項目,它似乎在設計視圖中丟失了所有控件。 當我運行項目時,控件顯示為它們應有的樣子。 僅此表單的visual studio 中的設計視圖被破壞,所有其他表單都相同。
我嘗試重新打開解決方案並重新打開文件無濟於事。 我也嘗試清理和重建解決方案無濟於事。 我制作了描述問題的視頻屏幕截圖
我接下來應該嘗試什么?
在 VS 2017 中,如果您從解決方案中排除 yourForm.Designer.cs,則再次重新添加應該可以解決問題。
可能您引用了相同解決方案中定義的一些用戶控件,但在不同的項目中,發生了什么變化,必須通過簡單的解決方案/重建全部解決。 如果不是,則可能是構建問題(混合 x86 和 x64 構建)
看起來更像是在 runetime 中調用了另一種形式。
您應該已捕獲代碼以了解應用程序的行為(如表單代碼和program.cs
代碼)。
有類似的問題(唯一的區別是當我在調試模式下運行項目一兩次時控件是可見的,然后它們也消失了。)
我不得不手動重新添加在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 為該控件自動生成的內容控制類型。
快樂的小徑,下一小時吻別:)
檢查問題是否是designer.cs 沒有正確嵌套。 它必須在 .cs 文件下。 如果沒有,請右鍵單擊並“從項目中排除”所有與表單關聯的文件,然后將表單 (.cs) 重新添加回項目。 這將解決問題。
您可能正在尋找的是“工具箱”。
我找了這么久都迷路了。 只需一個簡單的 Ctrl+Alt+X 即可將其帶回來。
我在 Windows 10 (20H2) 上安裝了 Visual Studio 2019(版本 16.11.5),我注意到自 WinForm 項目上次版本升級以來的一個錯誤。 我有一個 WinForm 項目(.NET 4.8 目標),我添加了幾個控件(按鈕、標簽和文本框),然后開始添加一些代碼,然后返回 Form1.Design 選項卡,所有控件都消失了,所以我的解決方案是返回到 Form1.cs 選項卡,然后返回 Form1.cs[Design] 選項卡,所有控件都神奇地重新出現。 Visual Studio 設計選項卡中似乎缺少刷新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.