单击按钮时,我想禁用选项卡选择。为此,我使用以下代码:
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;
}