|
0 / 0 / 0
Регистрация: 11.08.2014
Сообщений: 37
|
|
Практика создания приложений с динамическим контентом22.04.2015, 11:32. Показов 1739. Ответов 3
Метки нет (Все метки)
Здравствуйте, форумчане!
Меня интересует практика создания приложения с динамическим контентом. Что я имею ввиду: 1. на форме присутствует menustrip, в зависимости от того на какой пункт меню щелкнет пользователь произойдет отображение нужного контента (набор элементов с данными). 2. Усложняю задачу: пользователь щелкает по другому пункту меню - должен отобразится контент с данными, но не затирая те данные которые были отображены в первом контенте. Сейчас у меня есть реализация этих двух пунктов: на форму помещены menustrip и tabcontrol. При нажатии на пункт меню проверяется есть ли нужная закладка в табконтроле6 если таковой нет, то я программно создаю ее и кидаю на нее нужные контролы, заполяю данными, если такая закладка присутствует, то просто кидаю на нее фокус. Так как использую платный компонент у меня есть возможность закрытия вкладки, что не очень хорошо так как от платного компонента хочу отказаться (не куплен). Сложность моей реализации в том, что мне необходимо программно создавать компоненты, вместо того чтобы пользоваться графическим конструктором и это значительно увеличивает время создания приложения. Собственно вопрос в том, чтобы услышать от спецов, которые создавали многофункциональные большие приложения в winform, советы по бэстпрактике в таких случаях. Можно конечно каждый пункт меню открывать в отдельной, заранее сделанной через конструктор, форме, но по мне это не кашерно.
0
|
|
| 22.04.2015, 11:32 | |
|
Ответы с готовыми решениями:
3
Как парсить сайты с динамическим контентом php, phpquery, curl Какова практика распространения(дистрибуции) приложений WxErlang? |
|
8 / 8 / 1
Регистрация: 27.08.2012
Сообщений: 11
|
|
| 22.04.2015, 13:01 | |
|
Расскажу как я делал форму с настройками, в которой категории настроек отображаются в левой части формы в виде дерева. Т.е. при клике на определенный пункт основная форма заполнялась нужными полями. Думаю тут можно использовать такое же решение.
Главная идея - создание каждой "страницы" в отдельном контроле. Т.е. например у меня есть пункты: ОСНОВНЫЕ, АУДИО, ВИДИО, ПОДКЛЮЧЕНИЕ. Для каждого пункта я создаю свой контрол (User Control), который представляет собой панель(Panel), на которой размещен необходимый набор полей. Этот User Control можно создать без проблем в конструкторе. Таким образом у меня есть MainSettingsControl, AudioSettingsControl, VideoSettingsControl и ConnectionSettingsControl. Эти все контролы(если создавать через конструктор, то они должны появится в панели инструментов (Toolbox)) я закидываю в нужное место формы и выставляю им Visible = false и Dock = fill. Далее по нажатию на определенный пункт параметров я скрываю активный контрол и включаю нужный(для сохранения инфы об активном контроле я вводил доп. переменную типа Control в которую закидывал текущий выделенный контрол). Вот и вся магия =) Преимущество данного подхода: - работа вся в конструкторе - каждая "страница" является обособленной частью, как форма, в которой прописывается вся логика ее работы Решение мб не самое удачное, но до этого я додумался сам в силу того, что в инете ничего более рационального не нашел а задачу необходимо было решать.
1
|
|
|
0 / 0 / 0
Регистрация: 11.08.2014
Сообщений: 37
|
||
| 22.04.2015, 13:33 [ТС] | ||
|
0
|
||
|
8 / 8 / 1
Регистрация: 27.08.2012
Сообщений: 11
|
|||||||
| 22.04.2015, 14:16 | |||||||
1
|
|||||||
| 22.04.2015, 14:16 | |
|
Помогаю со студенческими работами здесь
4
Теория и практика создания QA-систем Много страниц с контентом в пару строк или мало страниц объемным контентом информационная система создания веб приложений Программа для создания флеш-приложений
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|