C# 我如何才能禁用选项卡的选择?
我有一个选项卡控件,上面有两个选项卡,我想在选中另一个选项卡页面上的单选按钮时禁用其中一个选项卡。我可以使用tab.Enabled=False禁用它上的控件;但我想知道我如何才能禁用整个页面,甚至不点击标签。按照我的方式,我仍然可以选择选项卡,只是它上的控件被禁用。没有本地方法只禁用一个选项卡,而让其余的选项卡工作。您需要创建自己的TabControl,并使用Selecting事件来检测何时有人将要进入您的选项卡并禁用它 下面是一个非常基本的示例,它阻止您输入tabindex 1C# 我如何才能禁用选项卡的选择?,c#,user-interface,C#,User Interface,我有一个选项卡控件,上面有两个选项卡,我想在选中另一个选项卡页面上的单选按钮时禁用其中一个选项卡。我可以使用tab.Enabled=False禁用它上的控件;但我想知道我如何才能禁用整个页面,甚至不点击标签。按照我的方式,我仍然可以选择选项卡,只是它上的控件被禁用。没有本地方法只禁用一个选项卡,而让其余的选项卡工作。您需要创建自己的TabControl,并使用Selecting事件来检测何时有人将要进入您的选项卡并禁用它 下面是一个非常基本的示例,它阻止您输入tabindex 1 // Make
// Make your own control deriving from TabControl
class CustomTabControl : TabControl
{
// Subscribe to the Selecting event
public CustomTabControl()
{
Selecting += tabSelecting;
}
private void tabSelecting(object sender, TabControlCancelEventArgs e)
{
// You would put your own logic here to detect which tabs to disable
// For this example I'm disabling access to tab in index 1
if (e.TabPageIndex == 1)
{
e.Cancel = true;
}
}
}
如果希望选项卡灰显,则需要覆盖DrawItem,并自己绘制选项卡。如果我有这方面的代码,我会在一点时间内更新我的答案
编辑:看起来自定义绘图的示例很长,但下面是我用来创建自己选项卡的教程
Equalsk,我不想选择选项卡本身。我希望选项卡标题也变灰,我无法选择它。有什么方法可以做到这一点吗?你问题的最后一行确实让人困惑,它说你希望能够在禁用控件的情况下单击选项卡。你只是希望标签是灰色的,所以不能被选中,对吗?是的,这正是我想让我更新我的答案。非常感谢你!