※ 引述《ckmarkhsu (深藍)》之銘言:
: 抱歉,因為我是新手,剛剛翻了書本找了網路,都找不到這個簡單問題的答案
: 因此特來請教大家^^"
: 請問我在另一個 class 內,要如何存取表單(Form1)內的物件阿
: 我原本是想說 Form1.label1.text 就可以,但這樣似乎觀念是錯的^^"
Form1也是一個類別 他是IDE自動建立的類別 他繼承Form這個類別
你使用 Form1.label1.text 這樣子的寫法是呼叫這個類別底下的label1
而不是呼叫當前執行個體的 label1
執行個體請參考是什麼請參考
[MSDN new 關鍵字]
http://msdn.microsoft.com/zh-tw/library/fa0ab757.aspx
如果你希望在 類別B 呼叫或修改 類別A 的 屬性 方法 變數 事件 等等
請將類別B內 欲修改的這個內容 存取權限 設定為public
舉例來說 如果Form2類別的執行個體 想要修改 Form1類別的 label1這個變數的內容
則必須將這個變數的宣告式由private修改成public
然後 你可以在Form2建立一個Form Type的變數 並將Form1的執行個體存入
這麼一來Form2就可以直接呼叫自己類別內的變數修改Form1的內容
類別基本上是一張藍圖 執行個體則是使用這張藍圖建立出來的實體
同一張藍圖可以建立很多很多個實體 你修改實體A的直 實體B不會有改變
所以你不能直接呼叫藍圖來修改label1 而是要呼叫實體
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 58.86.18.20