推 TameFoxx: Mainform只是個欄位喔 需要從form1把form1自己傳給form2 03/15 10:45
→ TameFoxx: form2的Mainform才能指向form103/15 10:45
→ TameFoxx: 物件都是被new出來的 程式從program進入的時候 03/15 10:47
→ TameFoxx: new過一次form1 03/15 10:47
→ TameFoxx: form1被new出來的時候會直接new一個form203/15 10:47
→ TameFoxx: 而按下按鈕後會把form1(this)丟到form2的Mainform欄位03/15 10:47
→ TameFoxx: 所以就可以從form2的Mainform欄位來控制form103/15 10:48
請問是這樣嗎 form1把自己丟給form2?
====form1===
private void button1_Click(object sender, EventArgs e)
{
Winform_Child WinCh = new Winform_Child();
WinCh.Patent_form_point(this);
WinCh.Show();
}
====Winform_Child(form2)====
private Form Patent_Pointer;
public void Patent_form_point(Form A)
{
Patent_Pointer = A;
}
再延伸一點
以下是別人的CODE
http://imgur.com/rbI1LVA
http://imgur.com/QGg9fuu
想問這一行的用法
((Winform_Main)Patent_Pointer).set_label_contet("return Msg");
我的認知這行是把form1(Winform_Main)當class來用
set_label_contet就是form1裡面的方法
那((Winform_Main)Patent_Pointer)
有沒有辦法改成 form1.set_label_contet 這種格式來寫呢?
因為包起來這種作法學c#到現在幾乎沒看過 也不知道怎樣用
--
洛克人版最好玩了!!! abc1234586 洛 人氣最高 ◢ 不來你就後悔了
︵● ◢█████████████ 克 26 █ ●╱
ab ̄◥█████████████ 人 ◢/M MOONY135
︶\ 版 ◤ /︶
位置:戰略高手->動作 射擊 解迷->Rockman 一個愛與勇氣及友情的版 洛克人版
Rockman Rockmanworld RockmanX RockmanEXE RockmanZero RockmanDASH 十七歲了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.129.194
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1458013108.A.05E.html
→ TameFoxx: 摁 是這樣 03/15 12:51
※ 編輯: MOONY135 (106.1.129.194), 03/15/2016 14:45:38
推 neo5277: 那其實你AFORM建完 BFORM加入參考 USING他 03/15 14:52
→ neo5277: 就可以從那邊傳值過來了吧 當然還是可以用委派 03/15 14:53
→ MOONY135: 請問我貼的這種方法就是委派了嗎 03/15 15:19
推 xxtuoo: 不很喜歡這樣寫..但是不少見..看多也就習慣了XDD 03/15 20:51
→ Litfal: 把private Form Patent_Pointer;的Form改成Form1就好了 03/15 22:17
→ Litfal: 這樣已經高度耦合的情況,就不需要用基底類別給自己找麻煩 03/15 22:18
→ Litfal: 不對不是改成Form1,是Winform_Main 03/15 22:24
→ Litfal: Patent_form_point(Form A) 的Form也是 03/15 22:25