我一直在關注this教程來命名窗體頁面上的元素。從我收集的信息中,表單將自動生成基於設計器表單上元素名稱的方法。C#設計器表單不更新表單對象的方法?
但是,儘管大多數文本框,標籤在點擊它們並點擊ENTER時都會更新它們的方法名稱,但其中一些仍然引用默認名稱。
在附圖中名爲「Option」的標籤仍然是「label3_clicked」。
非常感謝。
我一直在關注this教程來命名窗體頁面上的元素。從我收集的信息中,表單將自動生成基於設計器表單上元素名稱的方法。C#設計器表單不更新表單對象的方法?
但是,儘管大多數文本框,標籤在點擊它們並點擊ENTER時都會更新它們的方法名稱,但其中一些仍然引用默認名稱。
在附圖中名爲「Option」的標籤仍然是「label3_clicked」。
非常感謝。
您在Label被稱爲label3時創建了click事件處理程序方法。爲了解決這個問題,在你的代碼後面和F2中突出顯示方法名稱。這將使您能夠更改(重構)該方法的名稱,從而也會更改表單設計器。
將來只要命名你的對象,然後創建你的事件處理程序方法,所有應該是好的。
我從來沒有經歷該事件的名稱(可以是任何東西)將自動更新以匹配控件的名稱的行爲。
這是因爲事件的名稱可以是任何東西(label3.Clicked += Whatever_Click_Whatever
甚至沒有點擊零件)。沒有編譯器可以檢查的命名規則。只有自動生成的默認值。
如果您在更改控件名稱時不想更改自定義名稱,該怎麼辦?所以這裏沒有自動行爲。
那麼,你所能做的就是去Form1.Designer.cs
找到這樣的事件:
this.Load += new System.EventHandler(this.Form1_Load);
然後Right click => Rename
或Ctrl + R, Ctrl + R
並更改名稱。這改變了它也是你表單的代碼。
如果你改變控制窗口的名稱不會影響任何控制的'事件'生成(註冊)VS在將來'取'該控件的名稱'+'_(下劃線)'+'事件名稱' '(rename)'已經生成事件 –
一旦創建了事件處理程序(方法,而不是控件),它不會自動通過重命名控件來改變:'label3'和'label3_clicked'是完全獨立的符號,您可以輕鬆將相同的事件處理程序附加到多個控件。但是如果你手動重命名文件內部的事件處理程序('label3_clicked'),VS將提供搜索所有的出現並重命名它們。如果您想避免必須這樣做,只需確保在創建事件之前命名控件*。 – Lou