簡體   English   中英

單擊按鈕時禁用其他選項卡

[英]Disabling other tabs when clicked on a button

我想在單擊按鈕時禁用選項卡選擇。 為此,我使用以下代碼:

        foreach (TabPage page in scenarioSelectionTab.TabPages)
        {
            if (scenarioSelectionTab.SelectedTab != page) page.Enabled = false;
        }

問題是,當我使用上面的代碼時,這也會禁用當前選項卡。 我該怎樣預防呢?

您只是禁用頁面 - 這就是為什么當您無法啟用其他選項卡時。 只需為每個標簽頁設置Enabled狀態:

foreach (TabPage page in scenarioSelectionTab.TabPages)
{
    page.Enabled = scenarioSelectionTab.SelectedTab == page;
}

試試這個變種:

foreach (TabPage page in scenarioSelectionTab.TabPages) {
    ((Control)page).Enabled = scenarioSelectionTab.SelectedTab == page;
}

TabPage類沒有工作Enabled屬性。 閱讀MSDN。

如果這不起作用,請嘗試使用所選事件的另一個變體:

private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e) {
    if (e.TabPage != scenarioSelectionTab.SelectedTab) e.Cancel = true;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM