Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 15.02.2019
Сообщений: 4
1

Не отображаются элементы на TabPage в TabControl

15.02.2019, 13:34. Показов 1943. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дело в том, что когда я динамически создаю TabControl, а так же 2 TabPage на нем, отображаются элементы только на той TabPage, которая открывается первой (самая левая). Проверяю условие я через конструкцию

C#
1
2
3
4
5
6
7
8
if (TabControl1.Controls.SelectedTab == TabPage1)
{
  //тут выполняется вывод элементов TabPage1
}
else if (TabControl1.Controls.SelectedTab == TabPage2)
{
  //тут выполняется вывод элементов TabPage2
}
Вывод элементов на TabPage у меня идет через функцию, чтобы не загромождать код. Передаю функции только Control с именем TabControl. Как я понял, программа не может выйти из первого "ифа" (и соответсвенно из первой функции), чтобы отрисовать второй, но может я не прав. Пытался и заранее все отрисовывать, и другие манипуляции делать, но все бестолку. Если кто нибудь приведет пример кода, или хотя бы направит на истинный путь, тому огромная благодарность
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2019, 13:34
Ответы с готовыми решениями:

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

Блокировка TabPage в TabControl
Как заблокировать, т.е сделать невозможным переход и выделение, определенного TabPage-а в контроле

TabControl, tabPage и textBox
Добрый день! Имеется форма в которой присутствует TabControl с 5ю вкладками, в каждую из 5...

Добавление tabPage в TabControl
Здравствуйте, эксперты..... При написании месенджера (Я хочу сделать его на подобии qip.),...

6
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
15.02.2019, 15:26 2
Покажи как выводишь элементы?
0
0 / 0 / 0
Регистрация: 15.02.2019
Сообщений: 4
15.02.2019, 15:39  [ТС] 3
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
public void MainWin()
        {
            TabControl MainTab = new TabControl
            {
                Dock = DockStyle.Fill
            };
            TabPage TabCRM = new TabPage()
            {
                Text = "1",
                Name = "TabCRM"
            };
            TabPage TabMap = new TabPage()
            {
                Text = "2"
            };
            TabPage TabMoney = new TabPage()
            {
                Text = "3"
            };
            TabPage TabOptions = new TabPage()
            {
                Text = "4"
            };
            TabCRM.TabIndex = 0;
            TabMap.TabIndex = 1;
            MainTab.TabPages.Add(TabCRM);
            MainTab.TabPages.Add(TabMap);
            Controls.Add(MainTab);
 
            MainTab.TabIndexChanged += new EventHandler(MainTab_TabIndexChenged);
            void MainTab_TabIndexChenged(object sender, EventArgs e)
            {
                if (MainTab.SelectedTab == TabCRM)
                {
                    CRM(MainTab);
                }
                else if (MainTab.SelectedTab == TabMap)
                {
                    Map(MainTab);
                }
            }
        }
Примерно так. Насчет последних строк с обработкой событий - это я эксперементирую) Ну а в функциях CRM() например, я уже вывожу по такому же принципу элементы. Если не засунуть сам обработчик в функцию, то я не знаю как передать tabpage и tabcontrol
0
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
15.02.2019, 15:59 4
Цитата Сообщение от sandex_plus8 Посмотреть сообщение
Если не засунуть сам обработчик в функцию, то я не знаю как передать tabpage и tabcontrol
Передавать SelectedTab, раз уж у тебя два разных метода занимаются наполнением.
Ты показал как создаёшь вкладки. А как добавляешь элементы на вкладки? Вот эти вот методы CRM, Map?
0
0 / 0 / 0
Регистрация: 15.02.2019
Сообщений: 4
15.02.2019, 16:02  [ТС] 5
Абсолютно так же

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public void SearchCRM(Control Tab)
        {
 
            GroupBox Start = new GroupBox
            {
                Location = new Point(10, 10),
                AutoSize = true,
                Visible = true
            };
            TextBox SearchField = new TextBox
            {
                Location = new Point(10, 10),
                Visible = true
            };
            Button SearchBtn = new Button
            {
                Location = new Point(10, 35),
                Text = "Поиск",
                AutoSize = true,
                Visible = true
            };
            Start.Controls.Add(SearchField);
            Start.Controls.Add(SearchBtn);
            Tab.Controls.Add(Start);
            
        }
0
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
15.02.2019, 16:11 6
Отладчиком проверял, методы вызываются?
0
0 / 0 / 0
Регистрация: 15.02.2019
Сообщений: 4
15.02.2019, 16:17  [ТС] 7
Проверял, не вызываются. У меня предположение, что отрисовывает первую вкладку и все, вторую нет
0
15.02.2019, 16:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2019, 16:17
Помогаю со студенческими работами здесь

TabControl tabPage и datagridview в нём
Есть таб контрол, на второй странеице которого помещена таблица datagridview. Как обратиться к...

TabControl и присвоение tabPage значений
Здравствуйте!Столкнулся с проблемой следующего рода:элемент tabControl.Он содержит коллекцию...

Поиск в DGV, находящейся в TabControl.tabPage
Собственно идея такая, выбираем любую из трех tabpage и в ней datagridview, в нем производим поиск...

Пунктирное выделение tabPage в элементе tabControl
Подскажите, как убрать пунктирное выделение каждой созданной вкладки (tabPage) в элементе...


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

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