2011-09-12 116 views
0

我使用TabControl创建窗体。我可以做添加标签:C#:按名称添加TabControl选项卡

​​

TabPage是标签页我的一个名字。

我愿做

TabControl.TabPages.Add("TabPage")

哪里TabPage是String对象。

我该如何做到这一点?

+1

为什么你不能这样做呢? http://msdn.microsoft.com/en-us/library/btz4twwd.aspx –

+0

因为它增加了空标签,没有一个我有控制。 – pyro

回答

1

请原谅?你没有。 TabControlTabPage对象的集合。虽然你可以给TabPage一个你可以用来引用它的名字。

所以,如果你要选择或删除一个标签页,你可以做这样的事情(请原谅,从我的应用程序修改了讨厌的代码,我不得不记事本,重构它简化它):

private void ConfigureTabs() 
{ 
    var config = GetConfig(); 

    foreach (TabPage tabPage in tabControl.TabPages) 
    { 
     if (config.IsTabVisible(tabPage.Name) == false) 
     { 
      tabControl.TabPages.Remove(tabPage); 
     } 
    } 

    if (tabControl.TabPages.ContainsKey(config.DefaultTabName)) 
    { 
     tabControl.SelectTab(config.DefaultTabName); 
    } 
} 
+0

我会尝试澄清 - 我有TabControl让我们说三个TabPage对象,我已经命名为tabPage1,tabPage2,tabPage3。如果想要将其中的一个添加到我的tabcontrol,我可以通过使用TabControl1.TabPages.Add(tabPage1)来实现。我怎么能添加这个tabPage1对象,如果我有它的名字(女巫是“tabPage1”)在字符串变量调用,让我们说,名称? – pyro

0

转到TabControl属性..然后转到TabPages..Click(集合)..现在您可以在TEXT字段中编辑选项卡的名称。

0

如果您想要添加的选项卡不在任何控制层次结构中,那么这是不可能的。但是,如果选项卡位于表单中的其他位置,则可以编写Extension Method,该选项可找到您指定的TabPage并将其添加到TabControl的TabCollection中。事情是这样的:

public void AddEx(this TabCollection tabs, string name) 
{ 
    var myTabPage = MyFindTabPageMethod(name); 
    tabs.Add(myTabPage);  
} 

因此,如果TabPage的位于其他一些TabCollection内,并要“搬家”到其他地方那么上面应该工作。

现在你可以这样做:

TabControl.TabPages.AddEx("TabPage"); 
1

步骤

1-选择整个标签控件 2 - 在属性窗口(位于右侧) - >标签页 - >点击上 (...) 。 3-一旦1 & 2做你会看到所有的标签......然后,您可以在文本更改名称..

我希望帮助.. 问候