Winform menustrip和隐藏标签

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

对于前者

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

我的tabcontrol包含7个选项卡,我希望一次只显示1个选项卡。

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

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

谢谢你读这个。

问题是, 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。

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