Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
168 / 131 / 29
Регистрация: 16.02.2013
Сообщений: 867
1

Создание вкладок

30.08.2015, 08:32. Показов 2393. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно создать вкладки, пример как на скриншоте.
Создание вкладок


Слева - меню, справа - панель, в которой отображаются дополнительные опции. При переключении меню - переключается и панель уже с другими опциями.
Можно это сделать - добавив много панелей на форму, и отображать потом нужную, а остальные - скрывать. Но так не удобно. Может есть еще какие способы?

TabControl не предлагать
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.08.2015, 08:32
Ответы с готовыми решениями:

Создание вкладок
Как в WinForm C# создать вкладки?

Создание нескольких вкладок в форме
В общем идея такая: нужно создать несколько страниц в одной форме (наподобие того, как это делается...

Классы. Реализация создание вкладок в TabPage
Здравствуйте имеется класс: public class ListUrlsToOpen { public List<string>...

Создание ленты вкладок дочерних форм
Доброго всем времени суток. У меня появилась такая проблемка... создаю родительскую и несколько...

4
Эксперт .NETАвтор FAQ
10413 / 5143 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
30.08.2015, 09:39 2
Цитата Сообщение от Winhttp22 Посмотреть сообщение
Можно это сделать - добавив много панелей на форму, и отображать потом нужную, а остальные - скрывать. Но так не удобно. Может есть еще какие способы?
Создайте кастомный контрол (UserControl) на каждый тип панелей. На главной форме расположите контейнер (Panel) где будут отображаться ваши диалоги. Создавайте панели динамически при клике на дереве, помещайте их внутрь контейнера (containerPanel.Controls.Add(new MyUserControl1())), предварительно убрав оттуда предыдущую панель (containerPanel.Controls.Clear()).
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
01.09.2015, 10:06 3
Winhttp22, вопрос заключается в том будут ли это абсолютно разные панели для каждой папки, или это будет одинаковая панель для всех (на подобии показанной, с гридом)?
В первом случае необходимо создать эти контролы и динамически их инициировать при выборе соответствующей папки.
Во втором случае всё просто - есть контрол, на который динамически грузятся данные в зависимости от выбранной папки.
0
168 / 131 / 29
Регистрация: 16.02.2013
Сообщений: 867
02.09.2015, 17:37  [ТС] 4
nio, конечно же - разные. С одинаковыми вкладками проблем не должно быть.
Важно - чтобы было удобство создания в среде, накидать нужных контролов во вкладки и все. А не вручную все делать. Я работаю в SharpDevelop. Но видимо по другому не получится, придется форму увеличивать, там делать нужные вкладки. А потом отображать нужную, а остальные скрывать.

P.S. имею ввиду - что в SharpDevelop если одну панель наложить на вторую - то отображать будет контролы, которые добавлены в первой панели. Нет того удобства - как с TabControl, где можешь переключаться на разные вкладки и редактировать их по отдельности. Кто работал в SharpDevelop - тот поймет.
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
03.09.2015, 08:54 5
Winhttp22, ты конечно можешь сделать всё в виде панелей, такой способ имеет место быть Мастер настройки

Но! не в твоём случае. Если для каждой ветки дерева нужно сделать собственную уникальную "панель", а, судя по скрину, у тебя их будут десятки, и каждая будет заполняться данными, то ты столкнёшься с некоторыми проблемами. Первое, все панели помещённые на форму будут инициироваться в момент запуска формы, и с таким количеством элементов управления это будет очень длительный процесс, короче тормозить будет... Второе, все контролы с заполненными данными просто лягут в ОЗУ. Опять же с таким количеством контролов это грозит дополнительными тормозами. Третье управлять всем этим, особенно в режиме дизайна, будет жуть как неудобно.

Как решить проблему? Ответ уже дан в посте 2. Нужно отдельно разрабатывать контролы (разберись с UserControl) и динамически (runtime) отображать их пользователю в зависимости от выбранного узла дерева
1
03.09.2015, 08:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.09.2015, 08:54
Помогаю со студенческими работами здесь

WebBrowser как запретить создание новых вкладок вне формы?
Ребята, доброго времени суток) Знает кто-нибудь, как устранить данную проблему? Есть исходник...

Создание программным путем компонент "RichTextBox" для "tabControl" вкладок
Есть 2 кнопки: 1 - "Новая Вкладка" - создает вкладку в tabControl1 с RichTextBox. 2 - "Открыть...

Переименование вкладок userControl
Привет, форумчане. Никак не могу разобраться с обращениями из разных форм. Вроде столько разных...

Размер вкладок (TabControl)
Приветствую. Кто может подсказать - при включении полноэкранного режима, tabcontrol и вкладки...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru