2012-12-07 45 views
0

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

+0

请编辑您的文章以包含代码 –

回答

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

希望帮助

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

设置Enabled = false works但是它很奇怪这个属性在intelisense中不可见。费尔南多在.NET 4.5中记录了这种无用的工作,所以也许它不应该起作用。 – apc

0

其实,在.NET框架4.5的tabPage2.Enabled = false;不起作用。 可能一些控制过度充电可能会伎俩。

相关问题