不是简单的一个foreach就行的,因为form里面还有Panel,Panel里面还有Panel,有好几层.
求个公用方法,不管它多少层,都能遍历到.
求个公用方法,不管它多少层,都能遍历到.
解决方案 »
- 初学者,三层架构的简单问题 请大家帮忙解答
- |ZYCWPF| csExWB查看了他里面的事件后,还是看不知道哪一个事件能过HTML的内容进行拉截 谢谢
- win7系统如何获取桌面快捷方式的路径
- 关于C#中的树型菜单问题高手请进
- 怎么改项目名?
- Hashtable 的数组 出错! 新人求救!
- 各位街坊邻居,谁能给我一个简单的购物车的例子啊。小弟再次谢过了。。。
- trim()去不掉空格,不是中间的空格,后面的
- 如何改变TabControl控件的背景色(上面的分页条)(在线等,有效立即给分)
- 各位学C#的大哥帮个忙,帮我做个实验。
- 求 列表 显示思路
- C#中用listView中的数据画直方图,饼图等有没有专门的类啊
{
if( c.HasChildren )
//递归
else
//读取控件
}
private List<Control> ctrlList=new List<Control>(); private void simpleButton2_Click(object sender, EventArgs e)
{
getControls(this);
MessageBox.Show(ctrlList.Count.ToString());
} private void getControls(Control pCtrl)
{
foreach (Control ctrl in pCtrl.Controls)
{
getControls(ctrl);
ctrlList.Add(ctrl);
}
}
{
foreach (Control ctl in ctls)
{
if (ctl is TextBox)
{
}
else if (ctl.Controls != null) Foo(ctl.Controls);
}
}
{
GetControl(this);
} /// <summary>
/// 递归遍历所有控件
/// </summary>
/// <param name="ctrls"></param>
private void GetControl(Control ctrls)
{
foreach (Control c in ctrls.Controls)
{
if (c.Controls.Count > 0)
{
GetControl(c);
}
else
{
foreach (Control btnCtrl in ctrls.Controls)
{
if (btnCtrl is Button)
{
Button bt = btnCtrl as Button;
mc.ListButton.Add(bt);
}
}
break;
}
}
}
今天做项目刚好用到就贴出来给你看看了...
{
foreach (Control control in controls)
{
if (control.HasChildren)
{
FindControl(control);
}
else
{
ListBoxControl.Add(control.ToString());
}
}
}