Программирование >>  Автоматически обновляемые приложения 

1 ... 106 107 108 [ 109 ] 110 111 112 ... 170


Листинг 10.12. Создание древовидной структуры папок ,

using System.10;

private void Forml Load(object sender, EventArgs e) {

Заполняем первый узел. Используем диск С:

TreeNode rootNode = new TreeNode(@ С:\ );

treeDirectory.Nodes.Add(rootNode);

Заполнеяем первый уровень и раскрываем его

FillNodes(rootNode);

treeDirectory.Nodes[О].Expand();

Заполняем второй узел. Используем диск D:

TreeNode rootNode2 = new TreeNode(@ D:\ );

treeDirectory.Nodes.Add(rootNode2);

FillNodes(rootNode2);

He будем раскрывать его

treeDirectory.Nodes[1].Expand();

private void FillNodes(TreeNode dirNode) {

Directorylnfo dir = new Directorylnfo(dirNode.FullPath)

foreach (Directorylnfo dirltem in dir.GetDirectories()) {

Добавляем узел для каждой папки

TreeNode newNode = new TreeNode(dirltem.Name);

dirNode.Nodes.Add(newNode);

newNode.Node s.Add( * );

private void treeDirectory BeforeExpand(object sender,

TreeViewCancelEventArgs e)

Если найден узел со звездочкой то удаляем его и получаем список подпапок. if (e.Node.Nodes[0].Text == * ) {

е.Node.Nodes.Clear() ; FillNodes(e.Node);



В этом примере мы ограничились двумя дисками, С: и D:, причем не проверяли наличие последнего. В реальных приложениях надо, разумеется, получать список дисков динамически, используя технику, описанную в разд. Диски этой главы.

Tr eyiewDirectory

в с.\

SRECYCLE BIN

,Ъ D:\

Documents and Settings iVVallel

ListsCompanson + LislsComparison ,.+ Projects MSOCache NVIDIA Program Files ProgVVinVB RECYCLER

System Volume Information WINDOWS VYUTemp

Рис. 10.1. Древовидная структура папок

Примечание

Пример создания древовидной структуры папок находится в папке Тгее-ViewDirectory на прилагаемом диске

Файлы

Работать с файлами в .NET Framework так же просто, как и с папками. Основные операции осуществляются при помощи методов классов

System.10.Filelnfo И System.10.File- СоруТо, Create, Delete, MoveTo

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



; Листинг 10.13. Получение списка Файлов в папке

private void buttonl Click(object sender, EventArgs e) {

string [] astrFiles = System. 10. Directory.GetFiles ((3 c:\ ) ; listBoxl.Items.Add( Всего файлов: + astrFiles.Length);

foreach (string file in astrFiles) listBoxl.Items.Add(file);

Также список файлов можно получить при помощи метода GetFiles класса

Directorylnfo.

Как получить список папок и файлов?

Мы знаем, как получить отдельно список папок и список файлов. Существует

еще метод GetFileSystemEntries КЛаССа Directory, КОТОрыЙ ПОЗВОЛЯет ПО-

лучить за один вызов список и папок, и файлов. Его использование проиллюстрировано листингом 10.14.

f Листинг 10.14. Получение списка папок и файлов

private void button7 Click(object sender, EventArgs e) {

string[] directoryEntries =

System.10.Directory.GetFileSystemEntries((a c:\windows );

foreach (string str in directoryEntries) {

listBoxl.Items.Add(str);

Как получить список файлов в папке?

Как и в случае с дисками и папками, существует несколько способов получить список имен файлов в заданной папке. Рассмотрим вариант, в котором основная работа производится методом GetFiles класса Directory пространства имен System. 10 (ЛИСТИНГ 10.13).



1 ... 106 107 108 [ 109 ] 110 111 112 ... 170

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика