Paranoid - курс от Codeby Security School

Представляем вашему вниманию курс от команды codeby - "Комплекс мер по защите персональных данных, анонимности в интернете и не только" Подробнее ...


c# работа с элементом управления TreeView

Для начала создадим Windows Forms приложение. После чего добавим на форму элемент управления TreeView, который будет заполняться данными из XML файла.

каркас приложения

 

Добавим в проект XML файл. Если вы не знаете, как это сделать, то можете прочитать об этом здесь

Структура файла:

Затем добавим ссылку типа XmlDocument и путь к xml файлу.

Заполнение TreeView данными из XML файла

Изобретать чего-то нового не будем, а воспользуемся готовым решением с сайта MSDN и просто скопируем код. После чего первую часть кода поместим в обработчик события Load главной формы.

Затем добавим вторую часть скопированного кода

Пробуем запустить приложение, нажимаем кнопку F5.

данные в виде иерархического дерева

Древовидная структура успешно отобразилась и теперь можно переходить к решению часто встречающихся задач.

Работа с элементами

Все примеры этой главы нужно поместить в обработчик события NodeMouseClick элемента управления TreeView.

Благодаря второму параметру «e» мы можем получить любую информацию о выделенном элементе в TreeView.

второй параметр

1. Получить название выделенного элемента

результат

2. Получить индекс выделенного элемента

3. Получить количество дочерних элементов:

4. Изменить название выделенного элемента

результат

5. Изменить название дочернего элемента

новое название

6. Удалить выделенный элемент

Например, удалим VAZ.

удаление элемента

Следующий метод не обязательно помещать в данный обработчик события, его можно вызвать в любом другом месте кода.


Codeby Security School от Сodeby

Мы запустили свою онлайн школу по информационной безопасности. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного в курсе Paranoid


7. очистить TreeView

Все выше описанные действия затрагивают только данные внутри элемента управления TreeView и не как не отражаются в XML файле. То есть, к примеру, удаляя выделенный элемент, вы удаляете его только из коллекции элементов TreeView, но не из файла XML.

Работа с Xml файлом

Теперь рассмотрим пару примеров, как можно взаимодействовать с XML файлом. Но перед этим дополним графический интерфейс нашего приложения, добавив на форму: 2 лейбла, 2 текстовых поля: txtboxAtrName (имя атрибута), txtboxAtrValue (значение атрибута) и кнопку с надписью «изменить».

GUI

1. Выбрав элемент, мы хотим получить все его атрибуты в виде пары: название и значение.

Например, получим имя и значение атрибута элемента models. Результат на картинке

получение атрибутов

В данном примере для вывода данных используется control Textbox, так как у элементов всего по одному атрибуту. Если же атрибутов будет больше, то используйте другие элементы управления, чтобы получить все значения.

2. Хотим изменить значение какого-либо атрибута в xml файле

Принцип работы прост. Выделяем элемент в TreeView и получаем название и значение его атрибута, используя предыдущий пример.

1 шаг

Затем изменим, значение атрибута в textbox.Value и нажмём кнопку «изменить»

2 шаг

Если сейчас открыть добавленный в проект XML файл то появиться надпись, о том, что файл был изменён и будет предложено обновить информацию в нём.

сообщение

Нажимаем кнопку с надписью «YES», после чего данные внутри XML файла изменяться.

результат

Update

Если загрузка элементов в TreeView происходит слишком медленно, то попробуйте воспользоваться методом BeginUpdate

Видео 1.

Видео 2.

Читайте также:


Безопасная сделка с гарантом Сodeby

Гарант является доверенным посредником между Участниками при проведении сделки.​ Услуга сайта «Проведение сделок через Гаранта» предоставляется всем зарегистрированным пользователям codeby.net Подробнее ...


Похожие темы

Как изменить код программы без исходника... Как изменить код программы, если потерян исходник Бывают ситуации, когда под рукой нет исходника, а Вам срочно требуется внести изменения в коде, нап...
Как создать и добавить колонку в элементе DataGrid... Создание и добавление колонки в DataGridView В этой статье показано, как программно создать и добавить колонку в DataGridView. Создадим новое прил...
В чём отличие между методом Nodes и Descendants?... В чём разница между методом Nodes и Descendants? В этой статье хочу рассказать про метод Descendants и показать его отличие от метода Nodes при работ...
c# Функция автозавершения для textbox... Автозавершение при вводе данных в textbox В этой небольшой статье хочу показать на простом примере, как добавить возможность автозавершения при вводе...
C# WebBrowser. Часть 1: Получение и вывод данных... C# WebBrowser. Часть 1: Получение и вывод данных При создании одного из своих приложений мне потребовалось реализовать в нём возможность скачивать фа...