在按钮上打开标签页单击Winform C#

时间:2014-02-11 02:09:43

标签: c# winforms tabcontrol

我有几个标签页集合。默认情况下,当用户打开应用程序时,第一个标签页是开始标签页,然后用户将关闭标签页。现在我想创建一种情况,当用户转到菜单条时,单击“标签页1按钮”,然后“标签页1”将出现在标签控件中。任何专业知识都可以帮助我...

4 个答案:

答案 0 :(得分:7)

使用SelectedTab()方法。它有三个重载。


如果您有对标签的引用:

tabControl1.SelectTab(tabPage2);

如果您只知道索引:

tabControl1.SelectTab(1);  // 0-based index, this shows the second tab

如果您只知道名称:

tabControl1.SelectTab("tabPage2");

您说您的用户可以点击删除该标签的[x]

我认为它是通过最简单的方法删除的,例如:

tabControl1.TabPages.Remove(tabPage1);

您无法专注于不属于选项卡控件的选项卡,因此您必须先将其添加回来。

tabControl1.TabPages.Add(tabPage1);        // add tab as last tab in tabcontrol
tabControl1.TabPages.Insert(0, tabPage1);  // or insert it at a specific index

tabControl1.SelectTab(tabPage1);

答案 1 :(得分:0)

要选择TabPage控件的标签页,用户不仅可以单击标题来切换页面,还可以设置selectedTabPageIndex属性(或者像这样)来执行此操作。

试一试。

答案 2 :(得分:0)

我也面临这个问题。最后我通过以下代码解决。 的方案 我的标签控件有很多标签,我做了一个[x]标志来关闭该标签。 点击[x]我的标签将从Tab Control中删除。 现在当我点击按钮时,我打开标签(已删除) 的代码

private void openProductTab_Click(object sender, EventArgs e)
{
 if (tabControlMdi.TabPages.Contains(tabProduct))//tab already present
  {
    tabControlMdi.SelectTab(tabProduct);  // select by name
  }
 else
  {
    tabControlMdi.TabPages.Add(tabProduct); // add removed tab
    tabControlMdi.SelectTab(tabProduct);    // select by name
  }
}

答案 3 :(得分:0)

 private void invoiceGenerationToolStripMenuItem_Click(object sender, EventArgs e)
    {
        foreach (Form form in Application.OpenForms)
        {
            if (form.GetType() == typeof(RETransactions.frmInvoicegeneration))
            {
                form.Activate();
                foreach (TabPage item in tabControl1.TabPages)
                {
                    if (item.Text == "Invoice Generation")
                    {
                        tabControl1.SelectTab(item);
                    }
                }
                return;
            }
        }
        RETransactions.frmInvoicegeneration rTenancy = new RETransactions.frmInvoicegeneration();
        rTenancy.Show();
        rTenancy.TopLevel = false;
        TabPage tabp = new TabPage("Invoice Generation");
        tabp.Controls.Add(rTenancy);
        tabControl1.TabPages.Add(tabp);
        tabControl1.SelectTab(tabp);
        tabp.BackColor = Color.Gainsboro;
    }

//我希望它能奏效......谢谢