Winform问题求救!两个窗体之间值得传递!

2024-11-19 05:28:06
推荐回答(3个)
回答1:

有2种方式!
第一种:使用一个中间类中声明一个静态类型的变量TEMP,然后在form2的关闭事件中写TEMP=textbox2.text;
然后在Form1中使用这个变量!
例子:
中间类
class temphelp
{
public static string TEMP=“”;

}
form1 中按钮事件
form2 f=new form2();
f.showdialog();
textbox1.text=TEMP
form2的关闭事件
temphelp.TEMP=textbox2.text;

第二种:使用委托完成
from1中写一个方法
private void setvalue(string value){textbox1.text=value }
在按钮clik事件中写
form2 f=new form2(setvalue);
f.showdialog();

form2中
public delegate void setvalue(string value);声明委托
public setvalue setvalueFUC;声明委托对象
public form2(setvalue setvalueFUC)修改构造函数

{
......
this.setvalueFUC=setvalueFUC;
}

关闭事件中写如下代码
setvalueFUC.invok(textbox2.text);
如果要实时变化,请采用第二种方式
只需要将
setvalueFUC.invok(textbox2.text);
写到form2 窗体textbox控件的textchanged事件里面就可以了!
望采纳

如有部明白,请hi我!!

回答2:

form2设置成form1的 成员变量即可 ..
举例:
class Form2
{
Form1 f1;
init()
{
f1 = new form1();
}
func()
{
this.f1.xxx;
}
}

回答3:

经常有这样的问题呢,看一下这个,有示例可下载应该很清晰:
http://zhidao.baidu.com/question/2116137640881880667.html
希望对你有帮助,还有疑问请追问或是Hi