繁体   English   中英

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

[英]Enable or disable tab in Windows Forms

我正在Windows窗体应用程序上工作。 我有两个标签。 在按钮上单击它应该导航到其他并禁用第一个。 我们应该只能查看选项卡名称。 在选项卡上单击不应在禁用的选项卡上起作用,也不应显示任何内容。 我已经完成了“添加和删除”选项卡选项,但是它没有提供特定的解决方案。 我该如何实现?

这对我有用:

    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;
    }

您可以使用选项卡控件的SelectingEvent 当用户单击另一个选项卡时将触发该选项卡,并且该选项卡是可取消的,因此您可以通过检查事件args的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;
    }
}

希望能有所帮助

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM