繁体   English   中英

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

[英]Removing dynamic tab pages from tab control

我有一个名为tc_DashboardTabControl ,我想要做的就是向该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)

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

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

tc_Dashboard.TabPages["+"]为null,因为没有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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM