防止用户单击标签页

Preventing user to click a Tab Page

我还没有找到与此问题相关的解决方案。当某个标签页打开时,我只是在我的 Winforms TabControl 中禁用其他标签页。所以不隐藏它们,而是禁用单击标签页时打开它们的功能。它只是应该显示为灰色。这可能吗?我读过一些关于 "Selected" 活动的内容,但不知道如何使用它。

您可以使用 Selecting 事件:

创建一个class级变量:

int lockedPage = -1;

如果它设置为 TabPage 的索引,您可以 select 它但不能离开它,即您不能 select 任何其他页面。

private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e)
{
    if (lockedPage >= 0 && e.TabPageIndex != lockedPage) e.Cancel = true;

}

如果您设置 lockedPage = 0;,您将阻止用户离开第一页等。

要重新启用其他页面的 selection,请将其设置为 -1