c#中如何把a窗体中变量的值传递给b窗体
我现在有两个窗体a和b,我想把a窗体中的一个变量值传递给b窗体,我在a窗体中把变量定义成public,到时当b窗体显示的时候老是获取到一个空字符串,请求帮助。 --------------------编程问答-------------------- winform间传值public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show(this);
}
}
public partial class Form2 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form1 frm1 = (Form1)this.Owner;
((TextBox)frm1.Controls["textBox1"]).Text = this.textBox2.Text;
this.Close();
}
}
还可使用委托 --------------------编程问答-------------------- 获取方法:Application.OpenForms["窗体a实例的name值"].变量名 --------------------编程问答-------------------- 1.在B中定义一个public变量,A中直接赋值
2.在A中定义一个public变量,在A中设置B.owner=this后B中直接((A的类型)(this.owner)).xx访问
3.想传递一系列变量,个数很多,可以直接定义一个class,然后序列化后传递到B,然后B中反序列化
4.楼下接着..... --------------------编程问答-------------------- 子窗体传值给父窗体 控件属性设置 Modifiers 为 public
//第一窗体
private void tbtnOutTrack_Click(object sender, EventArgs e)
{
FormSubbillSend frms = new FormSubbillSend();
if (frms.ShowDialog() == DialogResult.OK)
{
frms.第二窗体控件 操作值...
}
}
//第二窗体
//确定 FormSubbillSend 点击事件
private void tbtn_Send_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
}
--------------------编程问答-------------------- Form1中代码
Form2 fm=new Form2();
string a="haha";
fm.Tag=a;
fm.show();
Form2中代码
if(this.Tag!=null)
{
string b=(string)this.Tag;
}
补充:.NET技术 , C#