Страница: 1 |
Страница: 1 |
Вопрос: Прлистывание директорий, с подпапками (.NET)
Добавлено: 16.06.08 22:42
Автор вопроса: VoVaN | ICQ: 4921085
Подскажите пожалуйста, как пролистать нужную директорию, чтобы можно было добавить в treeview и подпапки в этой директории, и все файлы из самой директории, и из ее подпапок? Уровень вложенности может быть любой
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
s12
Вопросов: 24
Ответов: 363
Профиль | | #1
Добавлено: 17.06.08 00:34
Посмотри вот этот пример:
http://www.vbnet.ru/samples/download.aspx?id=402
Номер ответа: 2
Автор ответа:
ника
Вопросов: 1
Ответов: 111
Профиль | | #2
Добавлено: 18.06.08 08:36
Могу предложить способ, просто поражающий своей новизной!!!
Надо юзать рекурсию!
Номер ответа: 3
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #3
Добавлено: 18.06.08 11:01
Слушай, а ведь и правда очень ново и свежо!!
Номер ответа: 4
Автор ответа:
ника
Вопросов: 1
Ответов: 111
Профиль | | #4
Добавлено: 18.06.08 11:47
)) Я знала, что вы оцените новшество!
Номер ответа: 5
Автор ответа:
__Pavel__
Вопросов: 29
Ответов: 284
Web-сайт:
Профиль | | #5
Добавлено: 18.06.08 19:17
вау... а че это такое!!!??? ))
Номер ответа: 6
Автор ответа:
Shota
Вопросов: 22
Ответов: 52
Профиль | | #6
Добавлено: 20.06.08 13:06
сори за С-шарп... в Бейсике суть не меняется.....
// this._tree - TreeView control
private void btnScan_Click(object sender, EventArgs e)
{
// вызываем заполнение дерева начиная с определенной директории
this.FillTree(@"C:\Program Files"
}
private void FillTree(string startDirectory)
{
this._tree.SuspendLayout();
this._tree.Nodes.Clear();
 irectoryInfo rootDir = new DirectoryInfo(startDirectory);
TreeNode rootNode = new TreeNode(rootDir.Name);
this.FillTree(rootDir, rootNode);
this._tree.Nodes.Add(rootNode);
rootNode.Expand();
this._tree.ResumeLayout();
}
private void FillTree(DirectoryInfo parentDir, TreeNode parentNode)
{
 irectoryInfo[] childDirectories = parentDir.GetDirectories();
foreach (DirectoryInfo childDir in childDirectories)
{
TreeNode childNode = new TreeNode(childDir.Name);
// вот тут и рекурсия
this.FillTree(childDir, childNode);
parentNode.Nodes.Add(childNode);
}
// если не хотим отображать в дереве файлы, то отключаем нижний блок
{
FileInfo[] files = parentDir.GetFiles();
foreach (FileInfo file in files)
{
TreeNode fileNode = new TreeNode(file.Name);
parentNode.Nodes.Add(fileNode);
}
}
}
Номер ответа: 7
Автор ответа:
VoVaN
ICQ: 4921085
Вопросов: 27
Ответов: 38
Профиль | | #7
Добавлено: 20.06.08 13:25
да-да, всем спасибо, я разобрался уже.
там всего лишь надо использовать My.computer.filesystem.getfiles (или getdirectories)
Номер ответа: 8
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #8
Добавлено: 21.06.08 16:05
> VoVaN
Привет!