作者optimist9266 (Optimist)
看板C_Sharp
標題Re: [問題] form的問題
時間Thu Nov 19 23:25:04 2009
※ 引述《althon (嘿嘿...)》之銘言:
: 不好意思,我是初學者~
: 問一下個很笨的問題>"<
: 為何一個form1下~ 觸發button1_click時~
: 僅能用this.text去修改form1的標題~
: 而不能用form1.text去修改?
: 鳴~ 想不透為何>"<
: 麻煩了~ 謝謝!
因為你所謂的form1只是一個參考型別 他不是實體
請參考:
http://ppt.cc/R36L
我們在設計模式下拉控制項還有設定form的屬性其實只是建立一個藍圖而已
當程式啟動時他會依照program.cs文件內的設定建立一個最基礎的form
你可以打開上述文件看看 你會看到一個new 後面則會接上一個參考型別
this.Text : 修改"當前Form"的Text屬性
form1.Text : 你希望修改一個"參考型別"的Text屬性
參考型別只是一個藍圖 在New建構子建立出實體之前他是不存在的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.76.165
1F:推 althon:很謝謝您~ 但我還有點疑問~ 那button1.text為什麼可以設定 11/19 23:34
2F:→ althon:不好意思,我很不懂>"< 麻煩各位說明一下~ 感謝! 11/19 23:36
3F:→ optimist9266:因為button1不是一個延伸型別 除非你自己去做一個 11/19 23:38
4F:→ optimist9266:使用者自訂控制項然後也叫做button1 11/19 23:39
5F:→ optimist9266:如果你有疑問你可以參考form1的建構函式檔案(忘記檔 11/19 23:39
6F:→ optimist9266:名了 button1指的就是程式初始form1時 執行的建構函 11/19 23:40
7F:→ optimist9266:式(系統自動產生) 中 要求 產生的一個Button 名字 11/19 23:42
8F:→ optimist9266:叫做button1 的那個實體 button1 11/19 23:43
9F:→ optimist9266:button1的狀態是這樣的 他的名字叫做button1 11/19 23:45
10F:→ optimist9266:但是他的類別叫做Button 他是一個按鈕 他叫做button1 11/19 23:45
11F:→ optimist9266:所以button1.text就是喊他的名字 然後說 那個誰誰誰 11/19 23:46
12F:→ optimist9266:你現在的Text屬性改成xxxxx 11/19 23:46
13F:→ optimist9266:Button變成 欸 所有的按鈕 你們Text屬性都給我改成xx 11/19 23:47
14F:→ optimist9266:程式當然不知道要改哪個 所以VS也不要跳出這種不正確 11/19 23:48
15F:→ optimist9266:屬性給你選 11/19 23:48
16F:→ colset:樓上講的算是物件導向的觀念吧 這個在初學中算是較深入的了 11/19 23:54
17F:→ adrianc:因為你沒有"form1"這東西...只有"Form1" 11/20 10:24
18F:→ adrianc:而 Form1 是類別名稱 不是物件的名稱 button1才是物件名 11/20 10:25
19F:→ adrianc:上面的物件換成叫做變數的話 可能會更好理解些 11/20 10:28
20F:推 hirabbitt:推這篇!!! 正好遇上同樣問題 11/26 12:00