1、父窗口传值给子窗口
你可以把父窗口自已传过去,在子窗口方便操作。
Form2 form2= new Form2(this);//实例化一个Form2窗口并把自己传过去
form2.ShowDialog();
在子窗口就可以直接改化变父窗口的值。
另外一种就是用变量在两个窗体之间传值,下面有一个例子,网上找了,希望对你有所帮助。
Form1中代码:
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 lForm = new Form2();//实例化一个Form2窗口
lForm.String1 = "传值给子窗口Form2成功";//设置Form2中string1的值
lForm.SetValue();//设置Form2中Label1的
lForm.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;//重要的一步,主要是使Form2的Owner指针指向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();
}
子父窗口传值问题
最新推荐文章于 2023-07-24 10:42:00 发布