|
2 / 2 / 0
Регистрация: 13.08.2021
Сообщений: 42
|
|
Запрет изменения состояния индикации компонента CheckListBox07.12.2021, 03:03. Показов 2076. Ответов 4
Метки нет (Все метки)
Собственно, сама суть проблемы находится в названии темы. Возможно ли это вообще? Или стоит использовать какой-нибудь другой компонент?
Суть моей идеи заключается в том, что в какой-то момент работы программы на компоненте должно находится несколько строк с выключенными индикаторами. При нажатии на кнопку "Старт" происходят какие-то вычисления, в которых на каких-то промежуточных этапах индикаторы строк компонента загораются и в дальнейшем служат для отображения информации на экране, в зависимости от выбранной строки. Думаю, это стоит выполнить при обработке двойного щелчка мыши. Но это не проблема, алгоритм уже продуман, вот только остается решить проблему с фиксацией индикаторов, у пользователя не должно быть возможности их изменить. И ещё вопрос не по теме. Есть ли какой-то способ добавления прогресс баров в правой части строк на компоненте в момент включения индикатора? Программно. То есть без их непосредственного добавления во время проектирования. Ведь невозможно предугадать, сколько строк будет на этом компоненте, поэтому эти индикаторы будут добавляться туда динамически. Но если так, то как с ними работать и в случае чего, обрабатывать их события? Нужно ли создавать массив указателей на эти объекты или есть какой-нибудь более эффективный способ для работы с динамически добавляемыми компонентами? И чтобы это не выглядело слишком топорно.
0
|
|
| 07.12.2021, 03:03 | |
|
Ответы с готовыми решениями:
4
Отслеживание состояния компонента Отслеживание изменения состояния службы [WPF] Триггер, изменяющий компонент в зависимости от состояния другого компонента |
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
||||||
| 07.12.2021, 12:00 | ||||||
Сообщение было отмечено vulivud как решение
Решение
vulivud, я бы поступил следующим образом (см. проект). Насчет топорности - не уверен.
![]() Ну, и все настройки и вариации - в зависимости от вашей задачи.
1
|
||||||
|
2 / 2 / 0
Регистрация: 13.08.2021
Сообщений: 42
|
||||||||
| 07.12.2021, 15:44 [ТС] | ||||||||
![]() Проблема этого алгоритма в том, что перед наступлением этого события галочка всё-таки ставится, а уже потом в событии мы эту галочку программно сбрасываем. Конечно, пользователь этого даже и не заметит, но хотелось бы всё-таки обработать какое-то событие включения/отключения индикатора перед тем, как он на самом деле установится (хоть и на какие-то микросекунды, перед тем, как в onClickCheck его окончательно сотрут), если это вообще возможно. По задумке моего проекта (см. во вложениях)у меня есть два чекбокса. В первом отображаются найденные приборы для опроса. В нём же мы устанавливаем галочку напротив тех приборов, которые хотим опросить. Затем эти приборы, напротив которых мы установили галочку в первом чекбоксе, добавляются во второй Чекбокс, но пока без галочек. А в нём, после нажатия на кнопку "Запустить вычисления" и всех вычислений (в настоящей программе - в потоке), должны выводится галочки напротив тех приборов, которые опрошены. При этом пользователю нельзя давать возможность снимать эти галочки во втором чекбоксе, потому что это будет выглядеть глупо, прибор ведь опрошен до конца, об этом и сигнализирует галочка. А сам процесс опроса конкретного прибора отображается в прогресс барах напротив. Но это была суть моей идеи для понимания моих целей. И я не просто так спрашиваю про обработку установки/снятия индикатора чекбокса до самой установки/снятия, ведь в компоненте StringGrid эта функция с выделением реализована:
И ещё вопрос - как убрать границы чекбокса, чтобы он сливался с самой панелью? вопрос возможно и глупый, но я почему-то не нашёл такого свойства
0
|
||||||||
|
2 / 2 / 0
Регистрация: 13.08.2021
Сообщений: 42
|
|
| 07.12.2021, 15:47 [ТС] | |
|
И ещё в моём коде прогресс бары добавляются после выполнения команды Sleep, то есть после возврата из события клика по кнопке, хотя в коде этого события должны появляться до первого Слипа. Может, я чего-то не понимаю, но как-то не по логике программа работает.
0
|
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|||
| 07.12.2021, 16:47 | |||
|
Добавлено через 3 минуты
1
|
|||
| 07.12.2021, 16:47 | |
|
Помогаю со студенческими работами здесь
5
Пререрисовка таблицы после изменения состояния DataGridViewCheckBoxColumn событие изменения состояния ячейки БД для отслеживания изменения состояния друзей в Вк Компоненты не перерисовываются после изменения состояния Redux
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Философия технологии
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(), которая. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|