设有两个窗体Form1和Form2,怎样在两个窗体之间传递数据呢
1。从Form1调用Form2并向其传递参数,不返回Form1:
首先,在Form2种声明一个public型变量:public string strTansfer="";
然后,在Form1种调用Form2并向其传递参数str:
Form2 frm=new Form2();
frm.strTansfer=str;
frm.Show();
2。从Form1调用Form2,Form2在返回Form1并传递给Form1参数:
第一种方法:借助第三个窗体Form3
首先,在Form3种声明一个静态变量:public static stirng strTansfer="";
并且添加访问函数:
public string GetstrTansfer
{
get
{
return strTansfer;
}
set
{
strTansfer=value;
}
}
然后,在Form1种调用Form2:Form2 frm=new Form2();frm.Show();
进入Form2窗体,修改Form3的静态变量并返回Form1:
Form3 frm=new Form3();//创建Form3的实例
frm.GetstrTansfer="changed";//改变Form3的静态变量
this.Dispose();//销毁当前窗体,返回Form1
在Form1种调用Form3的静态变量strTansfer:
Form3 frm=new Form3();
this.textBox.Text=frm.GetstrTansfer;//文本框中显示"changed"
第二种方法:
在Form2种声明一个代表Form1窗体的公共变量:public Form1 frmpara=new Form1();
在Form1种声明一个公共变量,用来接收从Form2传回来的参数:public string strGet;
首先,在Form1种调用Form2:
Form2 frm=new Form2();
frm.frmpara=this;
frm.Show();
然后,进入Form2窗体,进行操作并返回参数给Form1:
frmpara.strGet="changed";
this.Dispose();
重新返回Form1,调用返回的参数strGet:
this.textBox1.Text=this.strGet;//文本框显示"changed"

posted on 2006-04-16 10:29  vcool  阅读(255)  评论(0)    收藏  举报