从选项卡控件中删除动态选项卡页面

时间:2015-04-21 07:18:33

标签: c# dynamic tabs tabcontrol

我有一个名为TabControl的{​​{1}}我想要做的是向tc_Dashboard添加动态标签,并动态删除它们。

这是我用来制作第一个动态标签页。

TabControl

当我尝试使用以下代码删除它时,它会给我tabTitle = "+"; TabPage tab = new TabPage(tabTitle); tc_Dashboard.Controls.Add(tab); 错误。

ArgumentNullException unhandled

我尝试过在线搜索解决方案,但没有成功 任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

简单的解决方案是删除SelectedTab

if(tc_Dashboard.SelectedTab.Text == "+")
     tc_Dashboard.TabPages.Remove(tc_Dashboard.SelectedTab)
  

为什么原始代码不起作用?

if(tc_Dashboard.SelectedTab.Text == "+")
{
    tc_Dashboard.TabPages.Remove(tc_Dashboard.TabPages["+"]);
}

tc_Dashboard.TabPages["+"]为空,因为没有Name的页面等于+。这段代码

tabTitle = "+";
TabPage tab = new TabPage(tabTitle);
tc_Dashboard.Controls.Add(tab);

创建新标签并设置Text属性,但Name为空

如果为创建的标签设置Name

 TabPage tab = new TabPage(tabTitle) { Name = "+" };

tc_Dashboard.TabPages["+"]将返回tabPage,而不是null