Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 18.09.2016
Сообщений: 18

Пункты меню в одной форме

03.11.2016, 10:09. Показов 1437. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем, прошу помощи! У меня имеется меню(скрины ниже). Там всё описано. Нужно, чтобы при нажатии на Меню 1, открывались например лейблы, нажал на Меню 2, ещё что нибудь, на скринах подписал и это всё в одной форме, такое возможно? Буду благодарен если подскажете, что делать!
Миниатюры
Пункты меню в одной форме   Пункты меню в одной форме   Пункты меню в одной форме  

0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.11.2016, 10:09
Ответы с готовыми решениями:

Меню и контент в одной форме
Заранее извиняюсь, просто даже не знаю как тему назвать и как толком обьяснить что я хочу( Нарисовал на картинке, если я...

Несколько слоев виджетов в одной форме(игровое меню)
Стоит задача написать небольшую игру. Не могу разобраться как лучше организовать игровое меню. Т.е. нужно, чтобы при заходе в игру было...

Переместить пункт меню/поменять пункты меню местами
Добрый день! В битриксе довольно недолго и столкнулся с такой проблемой: Есть страница "step by step", она должна быть в меню...

9
 Аватар для Людвиг Бодмер
378 / 375 / 213
Регистрация: 29.03.2013
Сообщений: 867
03.11.2016, 10:31
Qwinter, самый простой способ - это менять видимость элементов, одно прятать - другое показывать.
1
0 / 0 / 0
Регистрация: 18.09.2016
Сообщений: 18
03.11.2016, 10:42  [ТС]
Можете пожалуйста на каком нибудь примере показать? Код набросать, чтобы понятнее стало.
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
03.11.2016, 11:07
Qwinter,
Менять видимость - вариант, конечно самый простой:
C#
1
2
label1.Visible = true; //открываем label1
textBox2.Visible=false; //прячем textBox2
Но при большом количестве элементов, для которых нужно менять видимость - очень неудобный. Представьте на одной форме в конструкторе одновременно несколько десятков элементов. В этом случае лучше использовать UserControl'ы, динамически добавляемые на форму.
2
 Аватар для Людвиг Бодмер
378 / 375 / 213
Регистрация: 29.03.2013
Сообщений: 867
03.11.2016, 11:21
Лучший ответ Сообщение было отмечено Qwinter как решение

Решение

Qwinter, вот:
Хотя этот вариант действительно очень не удобный. Всё зависит от целей вашего приложения, будете ли вы сохранять введенные в эти контролы значения или нет.
Вложения
Тип файла: 7z WindowsFormsApplication7.7z (9.6 Кб, 10 просмотров)
1
 Аватар для Nalik
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330
03.11.2016, 12:33
Лучший ответ Сообщение было отмечено Qwinter как решение

Решение

Цитата Сообщение от Даценд Посмотреть сообщение
Но при большом количестве элементов, для которых нужно менять видимость - очень неудобный.
Проблема решается просто. Добавляется элемент panel на котором размещаются все другие контролы и свойство Visible меняется только у нужной панели. Это проще чем динамически создавать контролы.
1
0 / 0 / 0
Регистрация: 18.09.2016
Сообщений: 18
03.11.2016, 13:37  [ТС]
Спасибо огромное всем за ответы! Отдельное спасибо за код: Людвигу) Буду реализовывать!)

Nalik, только дошло, что ты имел ввиду, спасибо за идею!

Добавлено через 27 минут
Возник вопрос, сделал панель, поставил лейбы, у меня есть выборка из базы, которая под каждую строку создаёт лейблы, но на панель они не попадают, как быть?
Код:
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
       private void panel2_Paint(object sender, PaintEventArgs e)
        {
            Label[] lb = new Label[1000];
            string Connect = "Database=testscr;Data Source=localhost;User Id=root;Password=";
            MySqlConnection myConnection = new MySqlConnection(Connect);
            string CommandText = "SELECT author, data, Administator, Time FROM  text LIMIT 10";
            MySqlCommand myCommand = new MySqlCommand(CommandText, myConnection);
            try
            {
                myConnection.Open();
                MySqlDataReader rdr = myCommand.ExecuteReader();
                int a = 0;
                while (rdr.Read())
                {
                    for (int i = 0; i < rdr.FieldCount; i++)
                    {
                        lb[i] = new Label();
                        lb[i].Location = new Point(308 + i * 115, 68 + a * 25);
                        lb[i].Name = "Label" + i.ToString();
                        lb[i].Size = new Size(75, 23);
                        lb[i].TabIndex = i;
                        lb[i].Text = rdr[i].ToString();
                        Controls.Add(lb[i]);
                    }
 
                    a++;
                }
            }
            catch
            {
 
            }
            myConnection.Close();
        }
0
 Аватар для Nalik
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330
03.11.2016, 13:46
Лучший ответ Сообщение было отмечено Qwinter как решение

Решение

Цитата Сообщение от Qwinter Посмотреть сообщение
Controls.Add(lb[i]);
Если вам нужно добавлять label на панель, делается это так:
C#
1
panel1.Controls.Add(lb[i]);
Так же свойство Location у элементов расположенных на панели в этом случае нужно указывать относительно левого верхнего угла панели.
1
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
03.11.2016, 13:47
Qwinter,
1) для добавления на panel2:
C#
1
panel2.Controls.Add(lb[i]);
2) не лучшая идея добавлять контролы в обработчике Paint. Ибо он будет вызываться при каждой перерисовке панели, добавляя на нее каждый раз партию контролов.
1
0 / 0 / 0
Регистрация: 18.09.2016
Сообщений: 18
03.11.2016, 21:13  [ТС]
Спасибо за помощь!

Добавлено через 5 часов 0 минут
Еще вопрос, у меня в базе имеется столбец Admin, как скрыть от обычных юзеров напримео кнопку меню 3, а у кого админ равен =1, то показывать?

Добавлено через 2 часа 22 минуты
Вопрос решён!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.11.2016, 21:13
Помогаю со студенческими работами здесь

Wayfinder Modx. Меню выпадает, но пункты меню не кликаются
Добрый день! Подпункты меню переходят на внутренние страницы, а первый ряд пунктов нет. Мышкой наводится, цвет выделяется, но клика нет. ...

Глючит бургер меню, не попадает на пункты меню
http://cadinstruktor.kl.com.ua

Пункты меню
Меню правка содержит пункты Вырезать Копировать Вставить. Как сделать их активными / неактивными в зависимости от текущего режима.

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

Пункты меню
Как поменять местами пункты меню в Joomla 1.0? В Менеджере что-то не идет.


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru