WFA程序C#窗体间传值

首先定义两个Form,一个为Form1,一个为Form2,其中Form1作为父窗口,Form2作为子窗口

1
、父窗口传值给子窗口

Form1
中代码:

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Form2 1Form = new Form2();//
实例化一个Form2窗口
1Form.String1 = "传值给子窗口Form2成功";//设置Form2string1的值
1Form.SetValue();//设置Form2Label1
1Form.ShowDialog();
}

Form2
中代码:

private string string1;
public string String1
{
set
{
string1 = value;
}
}

public void SetValue()
{
this.label1.Text = string1;
}

public Form2()
{
InitializeComponent();
}

2
、子窗口返回值给父窗口

Form1
中代码:

public Form1()
{
InitializeComponent();
}

private string strValue;
public string StrValue
{
set
{
strValue = value;
}
}

private void btnShowForm2_Click(object sender, EventArgs e)
{
Form2 lForm = new Form2();
lForm.Owner = this;//
重要的一步,主要是使Form2Owner指针指向Form1
lForm.ShowDialog();
MessageBox.Show(strValue);//
显示返回的值
}

From2
中代码:

public Form2()
{
InitializeComponent();
}

private void btnClose_Click(object sender, EventArgs e)
{
Form1 lForm1 = (Form1)this.Owner;//
Form2的父窗口指针赋给lForm1
lForm1.StrValue = "
子窗口Form2返回数值成功";//使用父窗口指针赋值
this.Close();
}

 

3、还可以将要传递的值以参数形式放入构造函数中传递。Form1传值给Form2.

Form1中代码:

public Form1()
{
InitializeComponent();
}

string str1="123";
private void button1_Click(object sender, EventArgs e)
{
Form2 1Form = new Form2(str1);//
实例化一个Form2窗口
1Form.ShowDialog();
}

Form2
中代码:

string str2=null;
public Form2(string str)
{
InitializeComponent();

str2=str;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值