Как сделать вкладки в windows form c
Элемент TabControl позволяет создать элемент управления с несколькими вкладками. И каждая вкладка будет хранить некоторый набор других элементов управления, как кнопки, текстовые поля и др. Каждая вкладка представлена классом TabPage.
Чтобы настроить вкладки элемента TabControl используем свойство TabPages. При переносе элемента TabControl с панели инструментов на форму по умолчанию создаются две вкладки — tabPage1 и tabPage2. Изменим их отображение с помощью свойства TabPages:

Нам откроется окно редактирования/добавления и удаления вкладок:

Каждая вкладка представляет своего рода панель, на которую мы можем добавить другие элементы управления, а также заголовок, с помощью которого мы можем переключаться по вкладкам. Текст заголовка задается с помощью свойства Text.

Управление вкладками в коде
Для добавления новой вкладки нам надо ее создать и добавить в коллекцию tabControl1.TabPages с помощью метода Add:
//добавление вкладки TabPage newTabPage = new TabPage(); newTabPage.Text = "Континенты"; tabControl1.TabPages.Add(newTabPage);
Удаление так же просто:
// удаление вкладки // по индексу tabControl1.TabPages.RemoveAt(0); // по объекту tabControl1.TabPages.Remove(newTabPage);
Получая в коллекции tabControl1.TabPages нужную вкладку по индексу, мы можем ей легко манипулировать:
// изменение свойств tabControl1.TabPages[0].Text = "Первая вкладка";
SplitContainer
Элемент SplitContainer позволяет создавать две разделенные сплитером панели. Изменяя положение сплитера, можно изменить размеры этих панелей.

Используя свойство Orientation , можно задать горизонтальное или вертикальное отображение сплитера на форму. В данном случае это свойство принимает значения Horisontal и Vertical соответственно.
В случае, когда надо запретить изменение положения сплиттера, то можно присвоить свойству IsSplitterFixed значение true . Таким образом, сплитер окажется фиксированным, и мы не сможем поменять его положение.
По умолчанию при растяжении формы или ее сужении также будет меняться размер обеих панелей сплитконтейнера. Однако мы можем закрепить за одной панелью фиксированную ширину (при вертикальной ориентации сплиттера) или высоту (при горизонтальной ориентации сплиттера). Для этого нам надо установить у элемента SplitContainer свойство FixedPanel . В качестве значения оно принимает панель, которую надо зафиксировать:

Чтобы изменить положение сплитера в коде, мы можем управлять свойством SplitterDistance , которое задает положение сплиттера в пикселях от левого или верхнего края элемента SplitContainer. А с помощью свойства SplitterIncrement можно задать шаг, на который будет перемещаться сплиттер при движении его с помощью клавиш-стрелок.
Чтобы скрыть одну из двух панелей, мы можем установить свойство Panel1Collapsed или Panel2Collapsed в true
Практическое руководство. Добавление и удаление вкладок с помощью элемента управления TabControl в Windows Forms
По умолчанию элемент управления TabControl содержит два элемента управления TabPage. Доступ к этим вкладкам можно получить через свойство TabPages.
Добавление вкладки программным способом
- Используйте метод Add свойства TabPages.
Dim myTabPage As New TabPage() myTabPage.Text = "TabPage" & (TabControl1.TabPages.Count + 1) TabControl1.TabPages.Add(myTabPage)
string title = "TabPage " + (tabControl1.TabCount + 1).ToString(); TabPage myTabPage = new TabPage(title); tabControl1.TabPages.Add(myTabPage);
String^ title = String::Concat("TabPage ", (tabControl1->TabCount + 1).ToString()); TabPage^ myTabPage = gcnew TabPage(title); tabControl1->TabPages->Add(myTabPage);
Удаление вкладки программным способом
- Чтобы удалить выбранные вкладки, используйте метод Remove свойства TabPages. или
- Чтобы удалить выбранные все, используйте метод Clear свойства TabPages.
' Removes the selected tab: TabControl1.TabPages.Remove(TabControl1.SelectedTab) ' Removes all the tabs: TabControl1.TabPages.Clear()
// Removes the selected tab: tabControl1.TabPages.Remove(tabControl1.SelectedTab); // Removes all the tabs: tabControl1.TabPages.Clear();
// Removes the selected tab: tabControl1->TabPages->Remove(tabControl1->SelectedTab); // Removes all the tabs: tabControl1->TabPages->Clear();
См. также
- Общие сведения об элементе управления TabControl
- Практическое руководство. Добавление элемента управления на вкладку
- Практическое руководство. Блокировка доступа ко вкладкам
- Практическое руководство. Изменение внешнего вида элемента управления TabControl в Windows Forms
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Создать вложенные окна на WinForms

Есть ли способ на C# с помощью WinForms сделать такие вложенные окна (как в MMC)? Я пробовал в форму добавить еще одну форму:
using System; using System.Windows.Forms; namespace WinFormsTest < class Program< [STAThread] public static void Main()< var form1 = new Form(); form1.Text = "Test form 1"; form1.Width = 500; form1.Height = 400; var form2 = new Form(); form2.Text = "Test form 2"; form2.Width = 300; form2.Height = 200; form1.Controls.Add(form2); Application.Run(form1); >> >
Но при запуске приложение выдает это:
Необработанное исключение: System.ArgumentException: Элемент верхнего уровня нельзя добавлять к элементу управления. в System.Windows.Forms.Control.ControlCollection.Add(Control value) в System.Windows.Forms.Form.ControlCollection.Add(Control value) в WinFormsTest.Program.Main()
Как создать вкладки?

Прошу помощи,нужно создать на одной форме определенное кол-во вкладок,переключаемые кнопкой,как можно осуществить?
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как создать две вкладки в TabControl?
Добрый день. Возникла потребность в создании вкладок по типу PageControl из Delphi. Я пишу в.
Как в глобальном массиве создать динамические вкладки TabPage?
В общем ситуация такая что мне нужно в элементе TabControl в с++ сделать так что количество вкладок.
Меню как вкладки одного окна
Здравствуйте, хотелось бы узнать, существует ли в Visual C++ 2010 Express Edition возможность смены.
Администратор
![]()
9440 / 4727 / 760
Регистрация: 17.04.2012
Сообщений: 9,575
Записей в блоге: 14
Элемент TabControl в помощь.
Регистрация: 09.04.2014
Сообщений: 6
tezaurismosis, благодарю.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Как создать невидимые вкладки
здравствуйте. Что-нибудь посоветуйте по возможности ) необходимо реализовать следующий интерфейс.
Как создать в браузере новые вкладки?
Создал я свой браузер. Продвигаю его, продвигаю. И вот появился вопрос. Например когда я захожу в.

Как обновить данные и создать вкладки
Добрый вечер форумчане. Решил написать не большой тестер — но возникло пару вопросов: Вот.
Как создать вкладки для элемента GridView
Для web-формы , создаю элемент GridView , нужно чтобы в этой будем так называть таблице было.
Или воспользуйтесь поиском по форуму: