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