怎么遍历FORM上的所有控件?我这只能遍历一级,不能跨级遍历。
foreach(Control iControl in this.Controls)
{
if (iControl.Name.IndexOf("textEdit_"+fieldname)>=0)
iControl.Text=Globalvariable.listBox2.Items[k] as string;
}
给控件的TEXT赋值的语句,但我在FORM上是放了一个tabpage1,tabpage1上又放了好多PANE控件,pane控件上再放textEdit控件。现在我按上面那么写只找到tabpage1控件,要是this.tabpage1。Controls 写只找到PANE控件,怎么才能遍历一个FORM上的所有控件呢?
问题点数:50、回复次数:5Top
1 楼brightheroes(在地狱中仰望天堂)回复于 2004-12-01 13:46:18 得分 5
要使用递归Top
2 楼brightheroes(在地狱中仰望天堂)回复于 2004-12-01 13:46:42 得分 25
有一个winform ,是个mdicontainer,上有很多个button,请问怎样得到这些button的集合?
------------------------------------------------------------------------------
要考虑其他的容器控件,比如说Panel
最简单的情况如下
foreach(Button b in this.Controls)
{
}
但是如果有Panel还要对Panel做一个循环
所以最好做一个递归的方法
如下:
private void FindButton(Control c)
{
if(c is Button)
{
MessageBox.Show("Button!");
}
if (c.Controls != null)
{
foreach(Control x in c.Controls)
{
FindButton(x);
}
}
}
在窗体里面调用
this.FindButton(this);
Top
3 楼exboy(kuku)回复于 2004-12-01 13:48:24 得分 20
写个递归函数:
private void FindCtrl( Control control )
{
for ( Control c in control.Controls )
{
// your code at here.
//
FindCtrl( c );
}
}
然后调用这个函数:
FindCtrl( this );Top
4 楼lyshrine(贝克)回复于 2004-12-01 16:28:03 得分 0
好 的,谢谢各位。还有个小问题请教。
我这个是一个自定义控件的FORM1(该控件的一个控件回车触发赋值函数),他上面还有一个基控件FORM,基控件FORM上面放着FORM1,FORM2,FORM3等控件FORM.要赋值的textEdit编辑框是分布在不同的子控件FORM上的。我改怎么找所有子控件FORM上的textEdit呢?
望赐教之。Top
5 楼lucbesson(女娃哈哈)回复于 2004-12-01 21:25:05 得分 0
学习 好想法 。Top




