我正在使用此代码将面板控件索引放在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++;
}
}
答案 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);