|
|
|
Динамическое создание группы контроллов на форме в зависимости от ситуации23.11.2012, 07:52. Показов 1287. Ответов 5
Метки нет (Все метки)
Добрый день.
Возникла такая интересная задача: есть некий набор сложных данных (текстовые поля, справочники (таблицы) и изображения), которые необходимо разместить на форме. Проблема только в том, что часть из этих данных может быть скрыта или показана согласно соответствующей галочке в настройках. Необходимо как-то динамически заполнить форму контролами с учетом этого. Я пока склоняюсь к мысли создания XML-протопипа формы, а потом на основании этого прототипа создавать контролы, но метод этот довольно сложный, если писать с нуля. Может кто-то подсказать готовое решение такой задачи?
0
|
|
| 23.11.2012, 07:52 | |
|
Ответы с готовыми решениями:
5
Динамическое создание контроллов в C# |
|
|
||||||
| 23.11.2012, 14:46 | ||||||
|
По аналогии
Если нужно хранить галочки, то можно создавать глобальный BitArray и сохранять его 1 строчкой типа 0101010 в текстовый файл и из него восстанавливать, сопоставляя 1 значение по порядковому номеру 1 контролу, но можно еще и сжать эту строчку.
0
|
||||||
|
|
|
| 23.11.2012, 15:22 [ТС] | |
|
Боюсь, что меня не так поняли.
Пусть на форме есть несколько полей: название организации, изображение и адрес. Если включена галочка "показывать изображение", то будет сформирована форма, где слева-вверху будет изображение, а справа от него - название и адрес, одно под другим. Если же галочки нет - то то же самое, но без изображения. Т.е. расположение и размеры контролов зависят от настроек. Настроек таких может быть достаточно много и рассматривать их комбинации в коде - не вариант. Желательно как-тот абстрагироваться от кода...
0
|
|
|
|
||||||
| 23.11.2012, 16:46 | ||||||
|
Настройки контролов у тебя будут меняться, помимо visible и enabled? Даже если ты создашь базу данных, тебе все равно придется их вписывать в такую конструкцию.
Добавлено через 8 минут Например
0
|
||||||
|
|
|
| 23.11.2012, 17:04 [ТС] | |
|
1. Зачем мне хлам из невидимых контролов или неактивных?
2. Если какая-то часть формы не видна, остальная должна "подгоняться" и использовать освободившееся место, либо изменять размер формы. В итоге получается что-то вроде грида из контролов. Я могу это реализовать сам, но это займет кучу времени, поэтому и спрашиваю, может кто-то подскажет готовое решение.
0
|
|
|
|
|
| 23.11.2012, 19:21 | |
|
Откуда возьмется хлам, если ты будешь перед каждым AddControls на форме вызывать RemoveControls, который их сотрет отовсюду ? Не понял, что ты хотел сказать пунктом 2.
0
|
|
| 23.11.2012, 19:21 | |
|
Помогаю со студенческими работами здесь
6
Динамическое создание контроллов на форме Динамическое создание контроллов на вкладках TabControl Динамическое создание и удаление TabSheet в исключительной ситуации
Динамическое создание объектов на форме из БД Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|