c#如何获取tabcontrol当前标签页中的面板控件索引

时间:2015-08-29 14:41:54

标签: c# winforms

我正在使用此代码将面板控件索引放在tabcontrol1的当前tabpage控件列表中,但我无法执行此操作。如何获取此面板的索引?面板的名称与label1.Text

相同
int count = 0;int index=0;
          foreach (var item in tabControl1.TabPages[tabControl1.SelectedIndex].Controls)
          {
              if (item.Name == label1.Text)
              {
                  index = count;
                  break;
              }
              else
              {
                  count++;
              }
          }

3 个答案:

答案 0 :(得分:1)

使用此代码:

int index = 0;
foreach (var item in tabControl1.TabPages[tabControl1.SelectedIndex].Controls)
{
     if (item is Panel)
     {
          Panel panel = (Panel)item;
          if (panel.Name == label1.Text)
          {
               index = tabControl1.TabPages[tabControl1.SelectedIndex].Controls.IndexOf(panel);
               break;
          }
     }
}

答案 1 :(得分:0)

用fllowing取代index = count;

index = tabControl1.TabPages[tabControl1.SelectedIndex].Controls.IndexOf(item);

答案 2 :(得分:0)

如果您的检查控件名称,则不需要迭代它们,因为控件在表单中的名称不能相同。尝试从tab控件的控件集合中找到它:

int index = tabControl1.Controls.IndexOfKey(label1.Text);

或者

int index = tabControl1.TabPages[tabControl1.SelectedIndex].Controls.IndexOfKey(label1.Text);