c# 中我想遍历一个Form下所有的Label然后改变他们的背景色,如何遍历?

foreach(System.Windows.Forms.Controlcontrolinthis.Controls)//遍历groupBox2上的所有控件{contro... foreach (System.Windows.Forms.Control control in this.Controls)//遍历groupBox2上的所有控件
{
control.BackColor = Color.Red;
}

这个写法不行啊,每次this.Controls只能取出一个大的对象,如何取到其中一个个的控件对象呢?
展开
 我来答
匿名用户
推荐于2016-12-04
展开全部
foreach (Control control in this.Controls)
{
    if (control is Lable)
         control.BackColor = Color.Red;
    else if (control.Controls.Count>0)
    {
         foreach (Control subcontrol in control.Controls) //查找子控件
              if (subcontrol is Lable)
                  subcontrol.BackColor = Color.Red;
    }
}
百度网友ce7f3ccb4
2015-08-29 · TA获得超过1950个赞
知道大有可为答主
回答量:2299
采纳率:0%
帮助的人:1908万
展开全部
你这个遍历的是什么控件啊,没看出来
追问
有Label 有TextBox 什么都有的
追答
foreach (Lable lab in this.Controls.OfType<Lable>())
{
  lab.BackColor = Color.Red;
}
至于子控件的查找类似了
关键在于这个玩意: 容器.Controls.OfType<控件类型>()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式