| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > Добавление узлов в дерево на C# |
| Автор: 12usver12 6.6.2007, 20:37 |
| Везде искала информацию, но именно того, что надо, не нашлось. Подскажите пожалуйста, вот у меня есть дерево (TreeView): - Все задачи | + Позвонить | + Встреча | + Будильник При добавлении задания (в данном случае узла) вызывается диалоговое окно. Есть комбо-бокс с названиями этих категорий, как в этом дереве. Суть: как, исходя из выбора названия в комбо-боксе, добавить узел в нужную категорию, исходя из выбора? То есть например: По умолчанию выделение стоит на корне "Все задачи", вызываем диалоговое окно, выбираем из комбо-бокса категорию "Позвонить" и программа должна поместить узел к узлу, соответствущий выбору. Название узла задается значением, которое вводится в той же форме как описание (в данном примере значение "Вовке") В результате: - Все задачи | - Позвонить | | | - Вовке | + Встреча | + Будильник З.Ы. если понадобится, могу привести код |
| Автор: stab 6.6.2007, 22:48 | ||
например так:
|
| Автор: Naum 7.6.2007, 09:13 | ||
А можно еще в комбо-бокс передавать не просто названия узлов, а ссылки на ноды дерева. Тогда можно
|
| Автор: 12usver12 7.6.2007, 20:42 |
| Здравствуй, cully! Очень интересное решение этого вопроса, но что-то видимо, до меня не дошло Давай ты посмотришь код, и напишешь, что тут не так. Вроде твой пример должен работать, но - нет. Заранее спасибо! |
| Автор: stab 8.6.2007, 01:01 | ||||||
1. ошибка в обработчике AddJob.button1_Click, надо перенести из button3_Click:
2. ключи для элементов дерева задать равные заголовку (как оно поумолчанию и делается):
3. искать элемент и среди подэлемнтов дерева, т.к. они у тебя есть:
но это всё так.. косметика. в целом подход не верный. ты хранишь данные в элеметнах управления, а по логике они служат только для представления данных. рекомендую проанализировать предметную область и разбить её на классы. первое что приходит в голову, сделать классы: JobManager (Organizer), Job, JobCategory, .. это позволит отделить интерфейс пользователя от логики\данных + внесёт ясность в код. |
| Автор: 12usver12 8.6.2007, 20:13 | ||||||
| Ура! Все чудесно работает Теперь ясно, что главная ошибка у меня была в неправильном присвоении ключа для элементов, а вот с кнопкой - вообще несуразность вышла Попутно возник еще один вопрос. По поводу сохранения и загрузки содержимого ListView.
где
все содержимое чудесно записывается, но вот как потом считать все содержимое сохранного файла? Как узнать, что строка закончилась, и нужно считывать данные уже для следущего поля?
Ясное дело, что str должна еще проверятся на окончание строки ('\0'), то есть ищем до тех пор и считываем информацию, пока не будет считан последний перевод строки. Но вот как?.... |
| Автор: 12usver12 9.6.2007, 11:35 | ||
| Все, кажется, разобралась Через сериализацию оказалось все намного проще и эффектнее Вот новый вариант и все чудесно работает, так, как и хотелось
|