遍历GroupBox上的所有的textbox

本文介绍了如何在C#中遍历GroupBox控件内的所有Textbox控件,并提供了具体的代码实现方式。通过使用foreach循环和类型判断,可以有效地访问并操作这些Textbox。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遍历GroupBox上的所有的textbox

复制代码
 foreach (Control c in groupBox1.Controls)
{
                if (c is TextBox)
                {
                        //这里写代码逻辑
                }
}
复制代码

遍历的时候,需要用Control遍历;

如果直接使用foreach(TextBox t in groupBox1.Controls)

并且groupbox上有Lable或其他非textbox控件的时候,会提示不能强制转换为textbox

所以,需要使用 is来判断,获取的控件是否为textbox



foreach  (Control ctl  in  this .Controls)
{
    if  ((ctl  as  GroupBox) !=  null )
    {
        foreach  (Control c  in  ctl.Controls)
        {
            ComboBox cbb = c  as  ComboBox;
            if  (cbb !=  null )
            {
               //
            }
        }
    }
}



大致思路:
public List<Control> FindControls()
{
    List<Control> result = new List<Control>();
    foreach (Control c in Controls) 
    {
        foreach (Control item in FindInSubControl(c)) result.Add(item);
    }
    return result;
}

private List<Control> FindInSubControl(Control parent)
{
    List<Control> result = new List<Control>();
    foreach (Control c in parent.Controls) 
    {
        foreach (Control item in FindInSubControl(c)) result.Add(item);
        result.Add(parent);
    }
    return result;
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值