你可以在打开之前将 新窗口记录进ArrayList 中
然后再点一个按钮遍历 这个ArrayList 找到你所需要的
按照你举的例子,代码如下:
using SystemCollections;
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)f2Controls["txt"])Text = iToString();
i++;
f2Show();
listAdd(f2);
}
private void button2_Click(object sender, EventArgs e)
{
foreach (Form f in list)
{
if (((TextBox)fControls["txt"])Text == "2")
{
((TextBox)fControls["txt"])Text = "a";
}
}
}
}
用foreach查找你得指定要查找的范围,或者是使用嵌套的foreach来查找,不是很方便,你可以使用Find,这个比较适合这种多级控件的查找:
Control[] controls=thisControlsFind("控件名称",true);
此方法的的第一个参数为你要查找的控件名称,第二个参数指定是否包括子控件,应该能够解决你的这个问题,希望对你有帮助,还有疑问请追问或是Hi
控件初始化的时候,都是用ControlsAdd来添加的,Controls类似一个Array,最后Add的控件,肯定是在Array的第一个遍历的顺序应该是Add的倒序来的最后一个Add的控件被第一个选出来
按照这个思路,我相信你可以想到很多种解决办法了
以上就是关于winform 父窗体如何获取子窗体控件的值全部的内容,包括:winform 父窗体如何获取子窗体控件的值、winform 中在容器控件里面添加其他控件,获取窗体所以控件的时候会获取不到容器里面的控件,在线等、winform 中 遍历整个窗体中所有的控件,他按照一个怎么样的顺序来,遍历的呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)