找到哪个标签的最简单方法是什么。我想点击tabpage2或其他标签页时显示一些数据。我是这样做的,但不是很好的解决方案:
private int findTabPage { get; set; }
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (tabControl1.SelectedTab == tabPage1)
findTabPage = 1;
if (tabControl1.SelectedTab == tabPage2)
findTabPage = 2;
}
并显示数据:
if (findTabPage == 1)
{ some code here }
if (findTabPage == 2)
{ some code here }
有没有其他解决方案,例如这样?
答案 0 :(得分:13)
使用
tabControl1.SelectedIndex;
这将为您提供选定的标签索引,该索引将从0开始,然后比标签总数少1 ...
像这样使用
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
switch(tabControl1.SelectedIndex)
{
case 0:
{ some code here }
break;
case 1:
{ some code here }
break;
}
}
答案 1 :(得分:4)
这是一种更好的方法。
private int CurrentTabPage { get; set; }
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
CurrentTabPage = tabControl1.SelectedIndex;
}
这样每次更改tabindex时,我们所需的CurrentTabPage都会自动更新。
答案 2 :(得分:3)
只需使用tabControl1.SelectedIndex
:
if (tabControl1.SelectedIndex == 0)
{ some code here }
if (tabControl1.SelectedIndex == 1)
{ some code here }
答案 3 :(得分:2)
如果您更喜欢使用字符串来标识所选 tabPage 而不是其索引:
int currentTab = tabControl1.SelectedIndex;
string tabText = tabControl1.TabPages[currentTab].Text;
这将提供您在选择 tabPage 时单击的文本。
int currentTab = tabControl1.SelectedIndex;
string tabName = tabControl1.TabPages[currentTab].Name;
这将为您提供 tabPage 的名称。
您可以通过编程方式或在对象属性中选择名称,必须使用不同的名称来标识每个 tabPage。 相反,文本字段不是,并且多个不同的选项卡可以具有相同的文本,您必须小心。