TabPages для недавно открытых Windows Forms C # - PullRequest
2 голосов
/ 23 марта 2009

Я хочу добавить новую вкладку для каждой вновь открытой формы.

Пример:

frmReport reportform = new frmReport();
report.Show();

Когда я открываю форму frmReport, она должна открываться в новой TabPage, как на вкладках Windows Internet Explorer 7-8.

Ответы [ 4 ]

1 голос
/ 23 июня 2011

На самом деле вы можете добавить Windows.Forms к TabPages, вам просто нужно установить

Form.TopLevel = false

и вы можете добавить его в любой контейнер, будь то TabPage или Panel

1 голос
/ 23 марта 2009

То, что вы хотели бы достичь здесь, это иметь «окна внутри вкладок». Это не так, как должно быть! Это выглядит так:

  • ОС Windows
  • Windows приложений (класс окна)
  • Контейнеры, помещенные в окно (например: Panel, TabControl!)
  • Элементы управления, размещенные в Windows и контейнерах (например, кнопка, но также контейнеры, такие как Panel!)

Итак, когда вы посмотрите на это, вы увидите, что не стоит помещать класс Windows в TabControl!

Так что же делать?

Создайте, например, класс UserControl и переместите все ваши элементы управления из Window в этот новый UserControl. Следующее место в вашем Window TabControl nad на одной из его TabPages поместите этот недавно созданный UserControl.

Таким образом, у вас будет хороший дизайн интерфейса. Еще раз: вы не кладете Window на вкладку!

0 голосов
/ 03 июля 2009

Я использовал DevExpress Controls для tabPages.

0 голосов
/ 23 марта 2009

Извините, прямого способа сделать это нет. Лучше использовать Usercontrols вместо форм и добавить элементы управления на вкладку.

См. эту ссылку .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...