|
Программирование >> Автоматически обновляемые приложения
Листинг 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).
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |