在Windows窗体中启用或禁用选项卡

时间:2012-12-07 07:45:27

标签: c# winforms

我正在使用Windows窗体应用程序。我有两个标签。单击按钮,它应导航到其他并禁用第一个。我们应该只能查看选项卡名称。选项卡上的单击不应在禁用选项卡上运行,也不应显示任何内容。我已经完成了“添加和删除”选项卡选项,但它没有给出特定的解决方案。我怎么能达到这个目的?

3 个答案:

答案 0 :(得分:1)

这对我有用:

    private void Form1_Load(object sender, EventArgs e)
    {
        tabPage2.Enabled = false;
    }

    private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e)
    {
        if (!e.TabPage.Enabled)
            e.Cancel = true;
    }

答案 1 :(得分:0)

您可以使用标签控件的SelectingEvent。当用户单击另一个选项卡时它会被触发,并且它是可取消的,因此您可以通过检查事件参数的TabPage属性或TabPageIndex并将Cancel属性设置为true来阻止用户更改选项卡:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        tabControl1.Selecting += new tabControlCancelEventHandler(tabControl1_Selecting);
    }

    private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e)
    {
        // This blocks the user from opening the second tab
        if (e.Action == TabControlAction.Selecting && e.TabPageIndex == 1)
            e.Cancel = true;
    }
}

希望有所帮助

答案 2 :(得分:0)

实际上,在.net Framework 4.5中,tabPage2.Enabled = false;不起作用。 可能有些控制过度充电可能会成功。