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

TreeView

05.05.2021, 02:17. Показов 1600. Ответов 4

Студворк — интернет-сервис помощи студентам
Приветствую, господа!

У меня есть ТрииВиью с несколькими уровнями вложенности элементов. Я хочу реализовать следующее поведение:
  1. при включении флага Checked у дочернего узла, включить этот флаг у всех его родительских узлов;
  2. при изменении флага Checked у родительского узла, установить аналогичный флаг у всех его дочерних узлов.

Но проблема в том, что эти два пункта противоречат друг другу: если я включу флаг у дочернего элемента, то согласно п.1 включится флаг у его родителя, что автоматически запускает п.2, т.е. - включение флага у всех его дочерних узлов, что в свою очередь запускает п.1 и т.д. до аннигиляции вселенной.

Есть ли какой-нибудь способ решить поставленную задачу?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.05.2021, 02:17
Ответы с готовыми решениями:

Опросник. Создание дерева зависимостей в treeView, сохранение дерева в XML, построение дерева в treeView из XML
Всем доброго времени суток. Тема является продолжением вот этой темы. Создаю 2ю, так как там был другой вопрос, который скорее...

TreeView
Как можно сделать так, чтобы один обьект TreeView был на всех страницах ?) была идея через сериализацию, но оказалось, что обьект не...

Treeview
Всем привет!!! Делаю программу, которая состоит из двух панелей( в одной - дерево, в другой - информация, возникающаю при нажатии на...

4
 Аватар для ashsvis
923 / 503 / 202
Регистрация: 08.10.2018
Сообщений: 1,553
Записей в блоге: 11
05.05.2021, 09:23
Лучший ответ Сообщение было отмечено leshiy_t как решение

Решение

Цитата Сообщение от leshiy_t Посмотреть сообщение
Есть ли какой-нибудь способ решить поставленную задачу?
Цитата Сообщение от leshiy_t Посмотреть сообщение
включится флаг у его родителя, что автоматически запускает п.2
Автоматически, потому, что есть привязка события на изменение флага Checked.
Если перед изменением Checked отключать привязку (программно), а после изменения снова включать, то всё получится.
1
0 / 0 / 0
Регистрация: 17.01.2013
Сообщений: 76
05.05.2021, 19:27  [ТС]
Спасибо!
Так все работает
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
05.05.2021, 19:46
Ну вообще-то это не так работает. При выборе дочернего элемента, если не все дочерние элементы родительского узла выбраны, у родительского узла ставится третье состояние. Такое поведение обычно используется в установщиках, когда выбираются не все опции.
TriState Treeview
1
0 / 0 / 0
Регистрация: 17.01.2013
Сообщений: 76
06.05.2021, 18:22  [ТС]
Да, я знаю, что чекбоксы должны работать иначе, но родной тривью не умеет так.
За подсказку про кастомный компонент - спасибо!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.05.2021, 18:22
Помогаю со студенческими работами здесь

Treeview
можно ли назначить события только для вложенных узлов?

treeview
Помогите.Как из treeview передать все значения в listbox

treeview
Динамически создаю treeView, и задаю теги, чтобы потом различать их при нажатии! public void MakeTreeView() { ...

TreeView
Имеется Windows-форма. На ней есть поле TreeView. Есть класс Product с полями: - Cost; - Firm; - Model; - Class_Id; - Type; ...

CheckBox в TreeView
Здравствуйте. Подскажите, пожалуйста! Имеется дерево. Нужно, чтобы: 1. при выставлении флага на уровне 1 автоматически снимались флаги...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru