winform 父窗体如何获取子窗体控件的值

来源:百度知道 编辑:UC知道 时间:2024/09/20 13:32:31
父窗体f1
打开子窗体f2,然后传"1"给f2的lable1
再次打开新的f2,然后传"2"给f2的lable1
.....
如何遍历f1打开的所有f2,找到lable1值为"2"的f2
然后把"2"改成"a"

你可以在打开之前将 新窗口记录进ArrayList 中.
然后再点一个按钮遍历 这个ArrayList 找到你所需要的.
按照你举的例子,代码如下:
using System.Collections;
public partial class Form1 : Form
{
int i;
public Form1()
{
i = 1;
InitializeComponent();
}
ArrayList list = new ArrayList();
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
((TextBox)f2.Controls["txt"]).Text = i.ToString();
i++;
f2.Show();
list.Add(f2);
}

private void button2_Click(object sender, EventArgs e)
{
foreach (Form f in list)
{
if (((TextBox)f.Controls["txt"]).Text == "2")
{
((TextBox)f.Controls["txt"]).Text = "a";
}
}
}
}