[英]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.