繁体   English   中英

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

[英]Open Tab Pages on Button Click in Winform C#

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

使用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);

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

试一试。

我也面临这个问题。 最后我通过以下代码解决。 方案我的选项卡控件有许多选项卡,并且我用[x]标记关闭了该选项卡。 单击[x]时,我的标签页已从“标签页控件”中删除。 现在,当我单击按钮时,我打开选项卡(已删除) 代码

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
  }
}
 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;
    }

//我希望它能起作用...谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM