TreeView, который мы начали смотреть на уроке 14 идеально подходит для показа файловой системы компьютера. Осталось только добиться, чтобы узлы дерева действительно соответствовали папкам на вашем компьютере.
Этим мы и займемся на ближайших трех уроках.
Итак, создайте Windows-приложение и разместите на его форме элементЫ дерево (TreeView) и кнопку (Button). Их имена оставьте без изменений.
Для начала добавим обработчик щелчка по кнопке:
private void button1_Click(object sender, System.EventArgs e) { // Получаем все диски (a:, c: и т.д.). string [] drives = Directory.GetLogicalDrives(); foreach(string s in drives) { // Добавляем корневой элемент для каждого диска. TreeNode tn = treeView1.Nodes.Add(s); // Добавляем фиктивный подузел для каждого // диска (для появления квадратика с плюсиком). tn.Nodes.Add(""); // Устанавливаем свойство tag. // Пустое значение свойства ("") - узел еще не раскрывался. // Плюс ("+") - узел раскрывался и в него были // добавлены нужные подузлы. tn.Tag = ""; } }Тут мы делаем две вещи- во-первых, мы показываем все диски, которые есть на нашем компьютере (метод GetLogicalDrives) и, во-вторых, для каждого узла добавляем фиктивный подузел для появления плюсика рядом с ним.
Двигаемся дальше. Добавим код, выполняющийся перед раскрытием некоторой ветки дерева:
// Перед раскрытием ветки дерева вызываем NodeExpand. private void treeView1_BeforeExpand(object sender, System.Windows.Forms.TreeViewCancelEventArgs e) { // Добавление подузлов перед раскрытием. NodeExpand(e.Node); }Тут мы вызываем метод NodeExpand, которые мы еще не написали. Это мы сделаем на следующем уроке, а пока все.