作者MOONY135 (談無慾)
看板C_Sharp
標題Re: [問題] Form值互傳
時間Tue Mar 15 11:38:26 2016
想請問這段話指的是
1F:推 TameFoxx: Mainform只是個欄位喔 需要從form1把form1自己傳給form2 03/15 10:45
2F:→ TameFoxx: form2的Mainform才能指向form103/15 10:45
3F:→ TameFoxx: 物件都是被new出來的 程式從program進入的時候 03/15 10:47
4F:→ TameFoxx: new過一次form1 03/15 10:47
5F:→ TameFoxx: form1被new出來的時候會直接new一個form203/15 10:47
6F:→ TameFoxx: 而按下按鈕後會把form1(this)丟到form2的Mainform欄位03/15 10:47
7F:→ 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://webptt.com/m.aspx?n=bbs/C_Sharp/M.1458013108.A.05E.html
8F:→ TameFoxx: 摁 是這樣 03/15 12:51
※ 編輯: MOONY135 (106.1.129.194), 03/15/2016 14:45:38
9F:推 neo5277: 那其實你AFORM建完 BFORM加入參考 USING他 03/15 14:52
10F:→ neo5277: 就可以從那邊傳值過來了吧 當然還是可以用委派 03/15 14:53
11F:→ MOONY135: 請問我貼的這種方法就是委派了嗎 03/15 15:19
12F:推 xxtuoo: 不很喜歡這樣寫..但是不少見..看多也就習慣了XDD 03/15 20:51
13F:→ Litfal: 把private Form Patent_Pointer;的Form改成Form1就好了 03/15 22:17
14F:→ Litfal: 這樣已經高度耦合的情況,就不需要用基底類別給自己找麻煩 03/15 22:18
15F:→ Litfal: 不對不是改成Form1,是Winform_Main 03/15 22:24
16F:→ Litfal: Patent_form_point(Form A) 的Form也是 03/15 22:25