单击按钮时禁用其他选项卡

时间:2013-08-12 18:49:17

标签: c# winforms tabs

我想在点击按钮时禁用标签选择。为此,我使用以下代码:

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

问题是,当我使用上面的代码时,这也会禁用当前选项卡。我该如何预防?

2 个答案:

答案 0 :(得分:1)

您只是禁用了网页 - 这就是为什么当您无法启用其他标签时。只需为每个标签页设置Enabled状态:

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

答案 1 :(得分:1)

尝试此变体:

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