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

本文关键字:其他 选项 按钮 单击 | 更新日期: 2023-09-27 18:27:19

我想在单击按钮时禁用选项卡选择。为此,我使用以下代码:

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

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

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

试试这个变体:

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

您只是在禁用页面-这就是为什么当您不能启用另一个选项卡时。只需为每个选项卡页面设置Enabled状态:

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