窗口传值(转载)

1 全局变量
 这个最简单,只要把变量描述成static就可以了,在form2中直接引用form1的变量,代码如下:
 在form1中定义一个static变量public static int i= 9 ;
 Form2中的钮扣按钮如下:
 private void button1_Click(object sender, System.EventArgs e)
 {textBox1.Text = Form1.i.ToString();}
 
2 父窗口传值给子窗口(Form1为主窗体,Form2为子窗体)
 代码如下:
 
Form1中的代码:
 public partial class Form1 : Form
 {
 public Form1()
 {
 InitializeComponent();
 }
 

private void btnShow_Click(object sender, EventArgs e)
 {
 Form2 form2 = new Form2();
 //父窗体传值给子窗体
 Form1 form1 = new Form1();
 form2.String1 = "成功传值给Form2窗体!";
 form2.SetValue();
 form2.ShowDialog();
 }
 Form2中的代码:
 
private string String;
 
public string String1
 {
 get { return String; }
 set { String = value; }
 }
 public void SetValue()
 {
 this.lblText.Text = String1;
 }
 

3 子窗口传值给父窗口(Form1为主窗体,Form2为子窗体)
 
Form1中的代码:
 private string strValue;
 
public string StrValue
 {
 get { return strValue; }
 set { strValue = value; }
 }
 private void btnShow_Click(object sender, EventArgs e)
 {
 Form2 form2 = new Form2();
 
//子窗体返回值给父窗体
 form2.Owner = this;;//重要的一步,主要是使Form2的Owner指针指向Form1
 
form2.ShowDialog();
 MessageBox.Show(StrValue);//显示返回的值
 
}
 Form2中的代码:
 private void btnclose_Click(object sender, EventArgs e)
 {
 Form1 form1 = (Form1)this.Owner;//把Form2的父窗口指针赋给lForm1
 form1.StrValue = "子窗体成功返回值给父窗体!";//使用父窗口指针赋值
 
this.Close();
 }
 
 
 
第四:
 
其实也是和第三中方法一样的哦
 
winform1{};
 
winform2{public winform1 OWF =null; }

你可能感兴趣的:(String,object,Class,button,WinForm,textbox)