日期:2014-05-20  浏览次数:20799 次

c# winform 父子窗口同时传递参数.
父亲窗体代码
  public partial class Form1 : Form
  {

  public Form1()
  {
  InitializeComponent();
  label_文本显示.Text = "";
  }

  private void 文本显示_Click(object sender, EventArgs e)
  {
  //打开子窗体
  Form2 f2 = new Form2();
  f2.Show();
   
   
  }
  }

子窗体代码
  public partial class Form2 : Form
  {

  public Form2()
  {
  InitializeComponent();
  }

  private void button_打开_Click(object sender, EventArgs e)
  {
  Form1 f1 = new Form1();
  //第一种方法:在不关闭子窗体的状态,如何让父体的(label_文本显示.Text)参数同时变化;

  //第二种方法:在关闭子窗体的时,并更新父体的(label_文本显示.Text)参数同时变化;
  }

  private void button_关闭_Click(object sender, EventArgs e)
  {
  Form1 f1 = new Form1();
  }
  }

麻烦在我的代码上修改。

------解决方案--------------------
声明一个公共的属性,然后传过去就OK啦!
------解决方案--------------------
public partial class Form1 : Form
{

public Form1()
{
InitializeComponent();
label_文本显示.Text = "";
}

private void 文本显示_Click(object sender, EventArgs e)
{
//打开子窗体
Form2 f2 = new Form2(this);
f2.Show();


}
}

子窗体代码
public partial class Form2 : Form
{
 private Form1 Form1;
public Form2(Form1 Form1)
{
Form1= Form1;
InitializeComponent();
}

 public Form2()
{
InitializeComponent();
}


private void button_打开_Click(object sender, EventArgs e)
{
Form1.label.text = sdfsdfdsf;
//第一种方法:在不关闭子窗体的状态,如何让父体的(label_文本显示.Text)参数同时变化;

 
}
pricate closeing(sender ,envet)
{
 //第二种方法:在关闭子窗体的时,并更新父体的(label_文本显示.Text)参数同时变化;
Form1.label.text = sdfsdfdsf;

}

pricate closed(sender ,envet)
{
 //第二种方法:在关闭子窗体的时,并更新父体的(label_文本显示.Text)参数同时变化;
Form1.label.text = sdfsdfdsf;

}


private void button_关闭_Click(object sender, EventArgs e)
{
Form1 f1 = new Form1();
}
}