如何通过标签页的名称关闭标签页上的标签页
该TabControl
类提供了一个TabPages
property返回TabPageCollection
包含控件中的所有TabPages
。
因此,您可以使用Item
property检索具有指定名称的TabPage
。
例如,如果你想要的标签页被命名为 “你好!”,你可以这样写:
var tabPage = myTabControl.TabPages["Hello!"];
从控制删除TabPage
,使用RemoveByKey
method:
myTabControl.TabPages.RemoveByKey("Hello!");
当然,为了达到此目的,您需要确保已将TabPage
的键设置为与它们显示的标题文本相匹配。
你可以尝试这样的事情:“你好!”
for (int i = tabControl1.TabPages.Count - 1; i >= 0; i--) {
if (tabControl1.TabPages[i].Text == "Hello!")
tabControl1.TabPages[i].Dispose();
}
我假设你的意思是对的TabPage的“文本”,因为将不是控件的有效名称。
注意:此代码将处理任何标签显示“Hello!”的TabPage。
配置tabpage时,它仍然添加到tabcontrol是一个好主意吗? – Blorgbeard 2012-02-17 22:30:49
@Blorgbeard我不认为有任何危险。删除它不会处理它,而且OP说他希望它“被销毁”。 – LarsTech 2012-02-17 22:33:11
删除然后配置我认为 – sambomartin 2012-02-17 22:35:58
,击败了我! – sambomartin 2012-02-17 22:30:42
谢谢科迪!看着LarsTech的回答,我应该为了记忆的目的而放弃它,而不是去掉它吗? – atwellpub 2012-02-17 22:44:21
@atw我会这样做,只是为了安全起见。先将其取出,然后进行处置。但你可以摆脱它只是处置它([参考](http://stackoverflow.com/questions/1757116/remove-tabpage-dispose-or-clear-or-both))。 – 2012-02-17 22:44:47