[英]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)
为什么原始代码不起作用?
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.