c# 跨窗体传递多个值的问题,如果是委托的话,请给个例子

我打算在form2中的textbox1,textbox2,textbox3分别赋值,关闭的时候,令主框体form1,的t1,t2,t3,分别获得这些值,请问怎么做~谢谢了... 我打算在form2中的textbox1,textbox2,textbox3分别赋值,关闭的时候,令主框体form1,的t1,t2,t3,分别获得这些值,请问怎么做~谢谢了 展开
 我来答
空雪梦见
2013-05-22 · TA获得超过5597个赞
知道大有可为答主
回答量:2522
采纳率:75%
帮助的人:1197万
展开全部
form2是模态对话框吗?如果是的话(就是showdialog方式打开的
那么直接在form2里面添加t1 t2 t3三个成员变量,public方式
然后form2关闭的时候把textbox123的值赋给t123
再然后给form1的t123
像这样

Form2 f = new Form2();
f.ShowDialog();
t1 = f.t1;
t2 = f.t2;
t3 = f.t3;
更多追问追答
追问
我想在关闭的时候执行,非模态的
追答
果然还是用委托吧。
form2里面声明一个public类型的委托
delegate void DeleSetValue(string p1, string p2, string p3);
之后声明一个事件(也是public
event DeleSetValue OnExitSetValue;
然后form1里面弄一个这样的函数
void SetT(string p1, string p2, string p3) { t1=p1; t2=p2; t3=p3; }
new了form2以后,
form2.OnExitSetValue += SetT;
form2在退出的时候,
if(OnExitSetValue != null)
OnExitSetValue.Invoke(textBox1.Text, textBox2.Text, textBox3.Text);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式