在我的标签页上使用Foreach项没有任何改变

时间:2018-12-09 13:36:33

标签: c#

我有一个带有4个标签页的标签页控件: 我需要为每个TabPage上的每个项目使用for循环。 下面的代码对我没有任何改变。

foreach (Control c in SubMenuTabControl.Controls)
{
   if(c is Label)
      c.Text="Hello";
}

3 个答案:

答案 0 :(得分:2)

您需要进行两次迭代,一次是选项卡控件的选项卡页,然后一次在选项卡页本身的控件上。

例如:

foreach (TabPage tab in SubMenuTabControl.TabPages)
{
    foreach (var control in tab.Controls)
    {
        var label = control as Label;
        if (label == null) continue;
        label.Text = "hello";
    }
}

答案 1 :(得分:2)

正如我在评论中所说,tabControl包含TabPages,因此您需要嵌套的foreach循环才能进入选项卡并进入labels

 foreach (TabPage tabControl in SubMenuTabControl.Controls)
            {
                foreach (Control item in tabControl.Controls)
                {
                    if (item is Label)
                       //your logic here
                        item.Text = "Hello";
                }
            }

答案 2 :(得分:0)

对于服务器端asp.net控件:

foreach (Control c in controlToCheck.Controls)
            {
                if (c is Label)
                    ((Label)c).Text = "Hello";
            }

用于html标签

foreach (Control c in controlToCheck.Controls)
            {
                if (c is LiteralControl)
                    ((LiteralControl)c).Text = "Hello";
            }
相关问题