Winform menustrip and hiding tabs

╄→гoц情女王★ 提交于 2019-12-20 06:21:57

问题


Hello I'm thinking of creating a tabcontrol which the tabpages will be filtered by the clicks in the menustrip.

For ex.

My menustrip is in form 1 and my tabcontrol is in form 2

My tabcontrol consist of 7 tabs and I want only 1 tab will be shown at a time.

for example If I click the name in the menustrip it will open/show a new form and the tabcontrol will only show the names tab.

I wonder if its possible because making diff forms for each list seems to be very long.

thanks for reading this.


回答1:


Problem is, the TabPage control has no Visible property (well, it has, but it does nothing). So you can't hide and show tabs at will. You'll have to remove the tabs that should not be visible.

You could make a form (named TabbedForm) with code like this:

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

With each menu button (Clicked event) in your main form you can open a TabbedForm with a different index.




回答2:


Yes, this will work pretty fine. But I think, you must use the default tab view control for this and that must not create the problem either in you case too.



来源:https://stackoverflow.com/questions/8352121/winform-menustrip-and-hiding-tabs

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!