【Not BUG】微軟Winform窗體中設計上的Bug,會導致程式編譯失敗?不,這不是BUG!

吃西瓜的星星發表於2021-01-20

這不是BUG!!!

原文地址: https://www.cnblogs.com/thanks/p/14302011.html

 

現在讓我們回憶一下原文

 

 

 

原文的操作步驟:

1. 新建一個Window Form窗體,命名為Form1

2. 在Form1中新增DataGridView控制元件

3. 在DataGridView控制元件中,新增列DataGridViewTextBoxColumn,設定其Name="Name"

4. 使用Visual Studio進行編譯,編譯器提示錯誤

 

現在,我們來澄清這不是BUG

簡單介紹一下我們在WindowForm窗體中如何使用控制元件

1.我們在Form1窗體中,新增了一個Label,我給給它的Name賦值“Label_Title”。

2.現在我們想在點選按鈕的時候,將這個Label的Text改為 “當前日期是2021年1月20日”

3.我們只需要在程式碼相應的地方新增

this.Label_Title.Text = "當前日期是2021年1月20日";  //當然,this是可以省略的

  

 

 

為什麼我們可以直接在程式碼中使用Label_Title?

如圖下圖所示,因為在Form1窗體中,有一個變數交Label_Title。

 

 

 

我們在設計器中改變Label_Title的Name會怎麼樣?

這裡我用了中文(實際使用還是英文比較好),我們會發現,不僅是Name屬性變了,連變數名也發生了變化。

 

 

 

正因為有這麼個變數,我們才可以在程式碼中,通過Label_Title去使用控制元件,修改控制元件的屬性,如果沒有這個變數會發生啥?自行腦補。

 

我們再來說說GridDataView中新增列

 

 

 

原理一樣,我們能夠在程式碼中像this.Cole_Name這樣使用,全部得益於控制元件對應的變數與它的Name屬性保持一致,所以,這不是BUG!!!

 

 

 

課後思考

思考啥?抓緊時間搬磚吧!

 

相關文章