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 Приложил скрин чтобы понятней было
0
|
|
27.12.2012, 14:07 | |
Ответы с готовыми решениями:
6
Создать форму с вкладками как на Visual Studio TabControl с вкладками слева/справа
Создать TabControl с тремя вкладками, используя приведенный пример с двумя |
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 |
Что то мне подсказывает, что автор темы делает это на зачет, а не на совесть. Поэтому в случае постоянной формы проще просто накидать все необходимые контролы на форму в дизайнере (возможно на панель, чтобы было еще проще) и поставить свойство 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 |
Спасибо буду разбираться
нет делаю не на зачет просто учусь и вот решил программу для детского садика написать, спасибо буду разбираться
0
|
29.12.2012, 10:51 | |
Помогаю со студенческими работами здесь
7
Как работать сразу с несколькими вкладками, программами на андроиде? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |