【问题标题】:C#: Add TabControl tab by nameC#:按名称添加 TabControl 选项卡
【发布时间】:2011-09-12 10:55:21
【问题描述】:

我有 TabControl 的表单。我可以通过以下方式添加标签:

TabControl.TabPages.Add(TabPage)

TabPage 是我拥有的标签页之一的名称。

我想做

TabControl.TabPages.Add("TabPage")

TabPage 是 String 对象。

我怎样才能做到这一点?

【问题讨论】:

标签: c# tabcontrol


【解决方案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);
    }
}

【讨论】:

  • 我会试着澄清一下——我有 TabControl,比如说三个 TabPage 对象,我将它们命名为 tabPage1、tabPage2、tabPage3。如果想将其中一个添加到我的 tabcontrol,我可以使用 TabControl1.TabPages.Add(tabPage1) 来做到这一点。我如何添加这个 tabPage1 对象,如果我在 String 变量中有它的名字(女巫是“tabPage1”),比如说名字?
【解决方案2】:

步骤

1- 选择整个 Tab 控件 2- 在属性窗口(位于右侧)-> 标签页-> 单击 (...)。 3- 完成 1 和 2 后,您将看到所有选项卡...然后您可以更改文本上的名称..

希望对你有帮助.. 问候

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      如果您要添加的选项卡不在任何控件层次结构中,则不可能。但是,如果选项卡位于表单中的其他位置,您可以编写 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");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多