簡體   English   中英

在 Visual Studio 2022 中,意外重命名事件處理程序會破壞表單設計器

[英]In Visual Studio 2022 accidentally renaming an event handler breaks the Form Designer

通常,當您更改事件名稱(不是在屬性窗口中)時,它會出現此錯誤: Error Image

但是,當我升級到 VS 2022 時,如果我更改了事件處理程序代碼 ( changed code ),然后打開我的設計器窗口,我會看到這個 ( a broken designer window )。

即使我恢復了事件處理程序名稱更改,窗口也會保持不變。 我只想讓表單恢復到我所有按鈕、菜單條等的樣子。(窗口應該是什么樣子

請幫助這個沒有經驗的編碼員;(

編輯 1:
- 嘗試重建,但沒有修復 Designer 窗口。
-修復后嘗試重新啟動 VS,但仍然無效。
- 沒有使用重構,但在更正名稱后,設計器窗口仍然損壞(是的,我檢查了設計器文件)
- 來不及使用 ctrl-Z
-我還嘗試從 Form1.Designer.cs 和 Form1.cs 中刪除事件Form1.Designer.cs 代碼的圖像

好像是不顯示Form1,Text本來是設置成Form1的,但是報錯后Text是空的(我說的就是這個)。 但設計名稱仍然是 Form1

要重命名事件、變量、方法等的名稱,請使用鍵盤快捷鍵Ctrl + R + R。

有關位於表單上的控件的所有信息(實例、位置、顏色、大小、事件等)都集中在 * .Designer.cs中的InitializeComponent()方法中。 您顯示一個空表單這一事實意味着您的表單很可能使用不同的Form1.Designer.cs

轉到表單的腳本,在那里找到構造函數:

...

public Form1()
{
   InitializeComponent();
}

...

按住Ctrl鍵,將鼠標懸停在構造函數中調用的InitializeComponent方法的名稱上,然后單擊鼠標左鍵。 Visual Studio 將帶你到描述InitializeComponent方法的地方。

檢查是否有關於您在其中一張圖像中顯示的那些按鈕的信息。 最有可能的是,這些信息將不存在。 如果您的項目中仍有原始的Form1.Designer.cs ,您可以簡單地復制其InitializeComponent方法並在較新的設計器腳本中替換此方法。

我有同樣的問題。

在調查InitializeComponent()之后,我發現所有的語句this.Controls.Add(...)都丟失了。

重新添加它們會使表單和設計器都像以前一樣工作。 我不知道為什么會這樣,但很高興知道有一個簡單的解決方法。

至少這教會了我總是使用 VS 的重命名/重構功能而不是 hacky 方式;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM