459 / 440 / 75
Регистрация: 26.12.2012
Сообщений: 2,883
1

Как создать форму с TabControl и несколькими вкладками в нем

27.12.2012, 14:07. Показов 5711. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста как правильно реализовать(или какие варианту могут быть)программу со следующим функционалом
1.Главное окно содержит tabControl(коллекцию вкладок)
2.tabControl имеет 5 вкладок
3.На каждой вкладке будут ссылки на разные действия
-до этого момента мне все понятно, далее...

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

P/S Приложил скрин чтобы понятней было
Миниатюры
Как создать форму с TabControl и несколькими вкладками в нем  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.12.2012, 14:07
Ответы с готовыми решениями:

Создать форму с вкладками как на Visual Studio
На Visual Studio каждый класс открывается в отдельной вкладке и все они с крестиками(close). Плюс...

TabControl с вкладками слева/справа
Доброго времени суток, форумчане! Наверное многие сталкивались. Делаешь TabControl с вкладками...

Создание TabControl в TabPage, а в этом TabControl создать RichTextBox
Нужно создать TextBox и кнопку,при нажатии на кнопку в уже созданом TabControl создаётся новая...

Создать TabControl с тремя вкладками, используя приведенный пример с двумя
Здравствуйте, есть код: resource.rc #include "resource.h" DLG_MAIN DIALOGEX 10,10,500,300...

6
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
27.12.2012, 18:18 2
удалите ссылку со страницы. tabPage.Controls.Remove(linkControl);

Добавлено через 52 секунды
для добавления:
1. Создаем объект контрола. 2. Добавляем его на страницу.
0
459 / 440 / 75
Регистрация: 26.12.2012
Сообщений: 2,883
28.12.2012, 10:36  [ТС] 3
спасибо за ответ,
1. правильно ли я понял что нужно будет создать новый объект какой мне нужно допустим картинку или график и добавить его на страницу допустим при нажатии на ссылку? при помощи слушателя и обработчика.
2. что происходит при удалении ссылки кодом? т.е за что именно отвечает ссылка до ее удаления

tabPage.Controls.Remove(linkControl)
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
28.12.2012, 16:13 4
в С# ситуация немного иная. Если создаешь форму, то она является слушателем своих контролов. То есть один слушатель для всех.
(Правда это по умолчанию.А при необходимости можно создать более сложное поведение, но это уже прийдется делать ручками)
При действии с элементами окна они генерируют события. Если у события есть обработчик в главной форме, то он выполняется.
При создании элемента окна в графическом интерфейсе компилятор автоматически создает объекты и помещает их на форму или в контейнер на форме. Посмотрите метод InitializeComponent() вашей формы.

Далее. Вы взяли LinkLabel и поместили ее на страницу вкладки tabPage1, соответственно существует объект linkLabel1, созданный компилятором и помещенный в контейнер tabPage1.

Двойным щелчком по linkLabel1 в визуальном редакторе вы создаете ответчик на событие генерируемое этим контролом. В нем вы и можете удалить linkLabel1 из контейнера tabPage1.

Далее вам необходимо заполнить страницу, что и делаем в этом же методе-ответчике.
Если это какая-то постоянная форма, то проще создать UserControl и поместить на него все необходимые элементы. А в самом обработчике вручную создать объект этого UserControl и пометить его в контейнер tabPage1 так, как это делает визуальный редактор.

Если же страница динамическая, то соответственно необходимо создавать каждый из объектов-элементов и помещать их в контейнер.
1
1448 / 1120 / 345
Регистрация: 11.04.2011
Сообщений: 2,615
28.12.2012, 16:47 5
Цитата Сообщение от Learx Посмотреть сообщение
Если это какая-то постоянная форма, то проще создать UserControl и поместить на него все необходимые элементы. А в самом обработчике вручную создать объект этого UserControl и пометить его в контейнер tabPage1 так, как это делает визуальный редактор.
Что то мне подсказывает, что автор темы делает это на зачет, а не на совесть. Поэтому в случае постоянной формы проще просто накидать все необходимые контролы на форму в дизайнере (возможно на панель, чтобы было еще проще) и поставить свойство Visible в False. А после щелчка по ссылке изменить Visible на true.
1
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
28.12.2012, 17:54 6
kodv, тоже верное решение, если необходимо именно отобразить, а не создать-удалить.
0
459 / 440 / 75
Регистрация: 26.12.2012
Сообщений: 2,883
29.12.2012, 10:51  [ТС] 7
Цитата Сообщение от Learx Посмотреть сообщение
в С# ситуация немного иная. Если создаешь форму, то она является слушателем своих контролов. То есть один слушатель для всех.

При создании элемента окна в графическом интерфейсе компилятор автоматически создает объекты и помещает их на форму или в контейнер на форме. Посмотрите метод InitializeComponent() вашей формы.

Далее. Вы взяли LinkLabel и поместили ее на страницу вкладки tabPage1, соответственно существует объект linkLabel1, созданный компилятором и помещенный в ......................
..............................
Если же страница динамическая, то соответственно необходимо создавать каждый из объектов-элементов и помещать их в контейнер.
Спасибо буду разбираться
Цитата Сообщение от kodv Посмотреть сообщение
Что то мне подсказывает, что автор темы делает это на зачет, а не на совесть. Поэтому в случае постоянной формы проще просто накидать все необходимые контролы на форму в дизайнере (возможно на панель, чтобы было еще проще) и поставить свойство Visible в False. А после щелчка по ссылке изменить Visible на true.
нет делаю не на зачет просто учусь и вот решил программу для детского садика написать, спасибо буду разбираться
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.12.2012, 10:51
Помогаю со студенческими работами здесь

Как создать форму со вкладками и подчиненными формами на каждой вкладке?
Если можно, то как создать форму со вкладками и подчиненными формами на каждой вкладке? То есть:...

Как сделать переход между вкладками TabControl свайпом?
как сделать переход между вкладками ttabcontrol свайпом в delphi xe5?

MVVM. Если окно содержит 1 TabControl, который в себе содержит много вкладок и в каждой может быть другой TabControl с вкладками
Я сделал так: Создал UserControl, в него поместил TabControl создал вкладки, во вкладки начал...

Как работать сразу с несколькими вкладками, программами на андроиде?
Приветствую! Посмотрел как работать с несколькими вкладками в хроме на андроиде. На компе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru