2011-12-02 206 views
0

你好,我正在考虑创建一个tabcontrol,tabpages将被menutrip中的点击过滤。Winform menustrip和隐藏标签

例如,

我的MenuStrip在形式上1 和我的TabControl在形式上2

我的tabcontrol包括7个选项卡,我想只有1个选项卡将在同一时间显示。

例如,如果我在菜单栏中单击该名称,它将打开/显示一个新表单并且tabcontrol将只显示名称选项卡。

我想知道它是否可能,因为每个列表的diff表单似乎很长。

感谢您阅读本文。

+0

好的,这很简单。那么你究竟想要什么帮助? –

+0

我不知道在这个问题上使用什么语法。我试过使用form1.menustrip,但它不起作用= _ = –

回答

1

问题是,TabPage控件没有Visible属性(好吧,它有,但它什么也没有)。所以你不能随意隐藏和显示标签。您必须删除不应该显示的标签。

你可以做一个表格(命名TabbedForm)用这样的代码:

private readonly int _index; 

public TabbedForm(int index) 
{ 
    this._index = index; 
    InitializeComponent(); 
} 

private void form_Load(object sender, EventArgs e) 
{ 
    for (int index = this.tabControl1.TabPages.Count - 1; index >= 0; index--) 
    { 
    if (index != this._index) 
     this.tabControl1.TabPages.Remove(this.tabControl1.TabPages[index]); 
    } 
} 

在你的主要形式,你可以打开一个TabbedForm用不同的指数每个菜单按钮(Clicked事件)。

+0

@rjtubera:在上面评论之后添加最后一句。这对你来说很清楚吗? –

+0

非常感谢你很多先生。 GertArnold这真的帮了很多:)) –

0

是的,这将工作得很好。但是我认为,您必须使用默认的标签视图控件来实现这个功能,而且在您的情况下也不能造成问题。

+0

我该怎么做? –

+0

现在添加一些你已经完成的快照,并指定代码。 –

+0

你可不只是把关于这个东西的教程链接?我完全不知道如何去做。我甚至无法启动。 –