Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Получение списка подкаталогов

Получение списка дисков

Инициализация дерева TreeView

Элемент управления TreeView

Как мы уже говорили, элемент управления TreeView (для простоты мы будем называть его деревом TreeView) представляет собой очень удобное средство отображения иерархически организованной информации. В предыдущем разделе этой главы мы добавили дерево TreeViewв окно приложения, но еще не инициализировали его, настраивали свойств и не создавали никаких обработчиков событий.

Надо отметить, что класс TreeView достаточно сложный. Он содержит множество методов, свойств и создает различные события. Мы будем изучать его постепенно.

Заметим, что вместе с классом TreeView мы будем использовать классы TreeNode иTreeNodeCollection. Первый из них содержит записи узлов дерева, а второй — контейнер с такими записями.

Когда Вы перетаскиваете значок дерева TreeView из панели Toolbox в окно формы, создается объект treeView1 класса System.Windows.Forms.TreeView:

private System.Windows.Forms.TreeView treeView1;

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

Инициализация дерева выполняется в конструкторе класса Form1 с помощью подготовленного нами метода DriveTreeInit:

public Form1()

{

//

// Required for Windows Form Designer support

//

InitializeComponent();

//

// TODO: Add any constructor code after InitializeComponent call

//

DriveTreeInit();

}

Ниже мы опишем исходный текст этого метода, а пока немного отвлечемся — расскажем о классах и методах, позволяющих получить информацию о дисках и каталогах. Более полную информацию по этому вопросу Вы найдете в [3].

Чтобы заполнить дерево, нам нужно, прежде всего, получить список логических дисков, имеющихся в системе. Для этого воспользуйтесь статическим методомDirectory.GetLogicalDrives:

string[]drivesArray = Directory.GetLogicalDrives();

foreach(string s in drivesArray)

Console.Write("{0} ", s);

Этот метод не имеет параметров. После выполнения он возвращает ссылку на массив текстовых строк вида «C:» с обозначениями всех доступных логических дисковых устройств.

Для обращения к этому методу, а также к другим методам, работающим с дисками, каталогами и файлами, подключите пространство имен System.IO:

using System.IO;

Для того чтобы получить список всех подкаталогов заданного каталога, мы используем методGetDirectories класса DirectoryInfo. Ниже приведен фрагмент кода, позволяющий записать в массив diArray информацию обо всех подкаталогах корневого каталога диска C:

DirectoryInfo[] diArray;

string fullPath = "C:\";

DirectoryInfo di = new DirectoryInfo(fullPath);

Try

{

diArray = di.GetDirectories();

}

Catch

{

}

Свойство Name элементов полученного таким способом массива будет содержать имя файла или каталога. Мы будем использовать это свойство для заполнения дерева.

Обратите внимание, что вызов метода GetDirectories необходимо выполнять в блоке try-catch, т.к. этот метод может вызывать исключения. Исключения возникают, например, если методу передается строка нулевой длины, если в строке имеется ошибка, если программа не обладает достаточными правами доступа для просмотра содержимого каталога или если указанный путь не найден.

<== предыдущая лекция | следующая лекция ==>
Добавление окна RichTextBox | Метод GetDirs
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 367; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.065 сек.