我有几个标签页集合。默认情况下,当用户打开应用程序时,第一个标签页是开始标签页,然后用户将关闭标签页。现在我想创建一种情况,当用户转到菜单条时,单击“标签页1按钮”,然后“标签页1”将出现在标签控件中。任何专业知识都可以帮助我...
答案 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;
}
//我希望它能奏效......谢谢