Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在我的选项卡页面上使用Foreach项不会';我找不到零钱_C# - Fatal编程技术网

C# 在我的选项卡页面上使用Foreach项不会';我找不到零钱

C# 在我的选项卡页面上使用Foreach项不会';我找不到零钱,c#,C#,我有一个选项卡控件,其中包含4个选项卡页: 我需要为每个选项卡页中的每个项目使用for循环。 下面的代码对我来说没有任何改变 foreach (Control c in SubMenuTabControl.Controls) { if(c is Label) c.Text="Hello"; } 您需要两次迭代,一次是选项卡控件的选项卡页,另一次是选项卡页本身的控件 例如: foreach (TabPage tab in SubMenuTabControl.TabPages)

我有一个选项卡控件,其中包含4个选项卡页: 我需要为每个选项卡页中的每个项目使用for循环。 下面的代码对我来说没有任何改变

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

您需要两次迭代,一次是选项卡控件的选项卡页,另一次是选项卡页本身的控件

例如:

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

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

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

对于服务器端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";
            }

子菜单abcontrol.Controls
是否包含任何符合
is标签
条件的对象?调试时,您循环哪些对象?它们是你想要的东西吗?其中是否有
Label
s?是。如果我要使用SubMenuTabControl.SelectedTab.Controls,它只能在我选择的选项卡页面上工作,请尝试将
c.Text=“Hello”
替换为
Console.WriteLine(“标签”)
并运行您的代码。检查您的控制台是否包含“标签”。如果没有,则表示数组中没有任何
标签。@Dim:那么它听起来像
子菜单控件。控件
不包含您认为它包含的控件。那么它包含什么呢?
子菜单abcontrol
上是否有枚举控件对象的其他属性?
子菜单abcontrol.控件中的控件是否包含您要查找的实际控件?您需要在调试器中检查此信息,而不仅仅是盲目编程。
tabControl
包含
TabPages
,因此需要嵌套
foreach
循环才能进入选项卡并进入标签