从选项卡控件中删除动态选项卡页
Removing dynamic tab pages from tab control
我有一个名为 tc_Dashboard
的 TabControl
我想做的是向该 TabControl
添加动态选项卡并动态删除它们。
这就是我用来制作第一个动态标签的方法。
tabTitle = "+";
TabPage tab = new TabPage(tabTitle);
tc_Dashboard.Controls.Add(tab);
当我尝试使用以下代码删除它时,它给我一个 ArgumentNullException unhandled
错误。
if(tc_Dashboard.SelectedTab.Text == "+")
{
tc_Dashboard.TabPages.Remove(tc_Dashboard.TabPages["+"]);
}
我尝试在线搜索解决方案但没有成功
任何帮助将不胜感激
简单的解决方案是删除 SelectedTab
if(tc_Dashboard.SelectedTab.Text == "+")
tc_Dashboard.TabPages.Remove(tc_Dashboard.SelectedTab)
why original code doesn't work?
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["+"]
将 return tabPage,而不是 null
我有一个名为 tc_Dashboard
的 TabControl
我想做的是向该 TabControl
添加动态选项卡并动态删除它们。
这就是我用来制作第一个动态标签的方法。
tabTitle = "+";
TabPage tab = new TabPage(tabTitle);
tc_Dashboard.Controls.Add(tab);
当我尝试使用以下代码删除它时,它给我一个 ArgumentNullException unhandled
错误。
if(tc_Dashboard.SelectedTab.Text == "+")
{
tc_Dashboard.TabPages.Remove(tc_Dashboard.TabPages["+"]);
}
我尝试在线搜索解决方案但没有成功 任何帮助将不胜感激
简单的解决方案是删除 SelectedTab
if(tc_Dashboard.SelectedTab.Text == "+")
tc_Dashboard.TabPages.Remove(tc_Dashboard.SelectedTab)
why original code doesn't work?
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["+"]
将 return tabPage,而不是 null