winform中窗体间传值并刷新

2025-05-22 15:02:08
推荐回答(5个)
回答1:

我做过这个。。 就是在要打开的窗口重载下构造函数。把第一个窗口的值传入构造函数中,再在第二个窗口中读取就行~
public s_Form()
{
InitializeComponent();
}
public s_Form(Student model)
{
InitializeComponent();
txt_SNO.Text = model.SNO;
txt_SNAME.Text = model.SNAME;
txt_SSEX.Text = model.SSEX;
txt_SBIRTHDAY.Text = model.SBIRTHDAY;
txt_CLASS.Text = model.CLASS;
}
重载构造函数
在主窗口
Student model = new Student();
model.SNO = dv_Info.SelectedRows[0].Cells[0].Value.ToString();
model.SNAME = dv_Info.SelectedRows[0].Cells[1].Value.ToString();
model.SSEX = dv_Info.SelectedRows[0].Cells[2].Value.ToString();
model.SBIRTHDAY = dv_Info.SelectedRows[0].Cells[3].Value.ToString();
model.CLASS = dv_Info.SelectedRows[0].Cells[4].Value.ToString();
s_Form sf = new s_Form(model); //调用带参的构造函数
参数就穿过去了
主要代码。。。

回答2:

不用那么麻烦的..
用out就可以了.也可以用或者ref..就是在B窗口的构造函数中.参数前面都加上out或者ref..
out和ref具体的作用可以查下百度

回答3:

通过构造函数传值

回答4:

f1的label1可见性设为Public
f1中
Form2 f2 = new Form2();
f2.Owner = this;
f2.Show();
f2中
Form1 f1;
f1 = (Form1)this.Owner;//这句不要写在构造方法里(会出错)最好写在Form2的Load方法里
f2的button1_Click事件中
f1.label1.Text = this.textBox1.Text;

回答5:

数据重新绑定一下就好了。