作者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/cn.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