Winform Menustrip и скрытие вкладок - PullRequest
0 голосов
/ 02 декабря 2011

Здравствуйте, я думаю о создании tabcontrol, который будет отфильтровывать вкладки по щелчкам в меню.

Например

Моя менструация в форме 1 и мой tabcontrol находится в форме 2

Мой tabcontrol состоит из 7 вкладок, и я хочу, чтобы одновременно отображалась только 1 вкладка.

Например, если я нажму на имя в меню, оно откроет / покажет новую форму, а на вкладке управления будет показана только вкладка имен.

Интересно, возможно ли это, потому что создание diff-форм для каждого списка кажется очень длинным.

спасибо, что прочитали это.

Ответы [ 2 ]

1 голос
/ 04 декабря 2011

Проблема в том, что элемент управления 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 с другим индексом.

0 голосов
/ 02 декабря 2011

Да, это будет работать довольно хорошо.Но я думаю, что для этого вы должны использовать элемент управления представлением вкладок по умолчанию, и это не должно создавать проблему и в вашем случае.

...