我有一个名为TabControl
的{{1}}我想要做的是向tc_Dashboard
添加动态标签,并动态删除它们。
这是我用来制作第一个动态标签页。
TabControl
当我尝试使用以下代码删除它时,它会给我tabTitle = "+";
TabPage tab = new TabPage(tabTitle);
tc_Dashboard.Controls.Add(tab);
错误。
ArgumentNullException unhandled
我尝试过在线搜索解决方案,但没有成功 任何帮助将不胜感激
答案 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