Управление вкладкой - переход к различным формам (C #) - PullRequest
2 голосов
/ 24 декабря 2011

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

Tab Control

например. Если бы я нажал «tabPage2», я был бы представлен Form2.cs

Ответы [ 3 ]

4 голосов
/ 24 декабря 2011

Да. Просто сделайте Form2 без полей и измените TopLevel на False, а затем вы можете добавить его в коллекцию tabPage2.Controls как обычную форму. Возможно, добавьте DockStyle в Fill и для этой формы.

Простая демонстрация:

private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e) {
  if (e.TabPage.Name == tabPage2.Name) {
    if (tabPage2.Controls.Count == 0) {
      Form f = new Form();
      f.TopLevel = false;
      f.FormBorderStyle = FormBorderStyle.None;
      f.BackColor = Color.Red;
      f.Dock = DockStyle.Fill;
      tabPage2.Controls.Add(f);
      f.Show();
    }
  }
}
1 голос
/ 24 декабря 2011

Возможно, вы захотите взглянуть на элемент управления закрепляемыми формами, например, с открытым исходным кодом DockPanelSuite . С помощью этого элемента управления вы можете иметь форму для размещения нескольких форм, на вкладках или пристыкованных, как Visual Studio.

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

Немного странный вопрос и, на мой взгляд, не лучшая практика проектирования.Что касается меня, я бы предложил вам создать UserControls и разместить их в любой форме / вкладке / контейнере.Это обеспечит вам одинаковое поведение везде.

Кстати, вы можете разместить любую форму внутри контейнера, например:

tabPage2.Controls.Add(new Form2());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...