c#中怎样将一个窗体的数据传到另外的一个窗体中

2024年11月02日 02:36
有4个网友回答
网友(1):

在b窗体创建一个带参数的构造函数 参数为a窗体
在a窗体触发事件时实例b窗体 将a窗体作为参数传入到窗体的实例
此时a窗体和b窗体就产生了关联

代码如下:
a窗体:
public partial class Form1: Form
{
public Form1)
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2this);
form2Show();
}
}

b窗体:
public Form2()
{
InitializeComponent();
}

Form1 form1 = new Form1();
public Form2(Form1 form1)
{
InitializeComponent();//必须写 而且要卸载赋值的前面
this.form1 = form1;
this.textBox1.Text = form1.Controls["txtMsg"].Text;

}

private void button1_Click(object sender, EventArgs e)
{
form1.Controls["txtMsg"].Text = this.textBox1.Text;
this.Close();
}

这样单击a窗体的按钮打开b窗体,在b窗体显示a窗体文本框的内容。
进行修改,点击b窗体中的修改按钮,回到a窗体,同时a窗体中文本框中值得到了修改。

网友(2):

在form2表单的后台 获取textbox1的值,将值作为url参数,跳转到form1所在的页面,在form1的后台方法Page_Load()中获取url中传递过来的参数,调用后台查询数据的方法,获取数据信息集,然后绑定到form1的datagridview1中,即可显示。

网友(3):

一个进程里面的吧?我记得什么begininvoke可以跨线程跨窗口调用。

网友(4):

在form1中添加如下语句:
public static Form1 f1=null
初始化函数中:
f1=this;
form1中textbox1声明成public
然后在form2中就可以这样赋值:
Form1.f1.textbox1.Text=textBox1.Text;
不明白的话直接联系我