2012-02-17 212 views

回答

4

TabControl类提供了一个TabPages property返回TabPageCollection包含控件中的所有TabPages

因此,您可以使用Item property检索具有指定名称的TabPage

例如,如果你想要的标签页被命名为 “你好!”,你可以这样写:

var tabPage = myTabControl.TabPages["Hello!"]; 

从控制删除TabPage,使用RemoveByKey method

myTabControl.TabPages.RemoveByKey("Hello!"); 

当然,为了达到此目的,您需要确保已将TabPage的键设置为与它们显示的标题文本相匹配。

+0

,击败了我! – sambomartin 2012-02-17 22:30:42

+0

谢谢科迪!看着LarsTech的回答,我应该为了记忆的目的而放弃它,而不是去掉它吗? – atwellpub 2012-02-17 22:44:21

+0

@atw我会这样做,只是为了安全起见。先将其取出,然后进行处置。但你可以摆脱它只是处置它([参考](http://stackoverflow.com/questions/1757116/remove-tabpage-dispose-or-clear-or-both))。 – 2012-02-17 22:44:47

2

你可以尝试这样的事情:“你好!”

for (int i = tabControl1.TabPages.Count - 1; i >= 0; i--) { 
    if (tabControl1.TabPages[i].Text == "Hello!") 
    tabControl1.TabPages[i].Dispose(); 
} 

我假设你的意思是对的TabPage的“文本”,因为将不是控件的有效名称。

注意:此代码将处理任何标签显示“Hello!”的TabPage。

+0

配置tabpage时,它仍然添加到tabcontrol是一个好主意吗? – Blorgbeard 2012-02-17 22:30:49

+0

@Blorgbeard我不认为有任何危险。删除它不会处理它,而且OP说他希望它“被销毁”。 – LarsTech 2012-02-17 22:33:11

+0

删除然后配置我认为 – sambomartin 2012-02-17 22:35:58