Winform menustrip和隐藏标签

时间:2011-12-02 05:26:19

标签: c# winforms visual-studio-2010 menustrip

您好我正在考虑创建一个tabcontrol,其中的tabpages将通过menustrip中的点击进行过滤。

对于前。

我的menustrip是1 我的tabcontrol是2表格

我的tabcontrol由7个标签组成,我希望一次只显示1个标签。

例如,如果我单击menustrip中的名称,它将打开/显示一个新表单,tabcontrol将只显示名称选项卡。

我想知道它是否可行,因为为每个列表制作差异形式似乎很长。

感谢您阅读本文。

2 个答案:

答案 0 :(得分: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]);
  }
}

使用主窗体中的每个菜单按钮(Clicked事件),您可以打开具有不同索引的TabbedForm。

答案 1 :(得分:0)

是的,这会很好用。但我认为,您必须使用默认的选项卡视图控件,并且在您的情况下也不能创建问题。