我正在使用AjaxControlToolkit TabContainer
并动态设置TabPanel
可见性。当隐藏(动态)活动选项卡时,整个选项卡控件被隐藏,所以为了避免这种情况,我写了这样的小方法(将第一个可见选项卡设置为活动选项卡)
private void SetActiveTab()
{
if (tabControl1.Tabs[0].Visible)
{
tabControl1.ActiveTabIndex =0;
return;
}
if (tabControl1.Tabs[1].Visible)
{
tabControl1.ActiveTabIndex = 1;
return;
}
...
}
但这对我来说感觉就像效率低下/丑陋的代码......,有更好的方法吗?
答案 0 :(得分:1)
选择任何
for (int tabIndex = 0; tabIndex < TabContainer1.Tabs.Count; tabIndex++)
{
if(TabContainer1.Tabs[tabIndex].Visible)
{
TabContainer1.ActiveTabIndex = tabIndex;
break;
}
}
foreach (TabPanel tab in TabContainer1.Tabs)
{
if (tab.Visible)
{
TabContainer1.ActiveTab = tab;
break;
}
}
var firstVisibleTab = TabContainer1.Tabs.OfType<TabPanel>().FirstOrDefault(tab => tab.Visible);
if (firstVisibleTab != null)
{
TabContainer1.ActiveTab = firstVisibleTab;
}
此类排队的BTW更好地使用代码审查网站:Code Review