簡體   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