我想在点击按钮时禁用标签选择。为此,我使用以下代码:
foreach (TabPage page in scenarioSelectionTab.TabPages)
{
if (scenarioSelectionTab.SelectedTab != page) page.Enabled = false;
}
问题是,当我使用上面的代码时,这也会禁用当前选项卡。我该如何预防?
答案 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;
}