Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [С#] WFA построение иерархии с помощью TreeView


Автор: vsuperator 14.6.2013, 13:37
Добрый день форумчанам!Дали мне задание построить что то типа файл браузера:
http://s1.ipicture.ru/Gallery/Viewfull/26660988.html
А теперь что нужно:
1.Как то отрабатывать что бы в TextBox1 вводились только пути к папкам
2.Что бы отобржение иерархии было в тревью (всей иерархии)
3.Поиск по  тревью по расширению файла и перекраска
4.Запись иерархии в XMl файл
Буду очень благодарен за помощь, если кто готов взяться сделать то пишите стоимость и срок.
Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            listView1.Clear();
            Font font = new Font(FontFamily.GenericMonospace, 12F, FontStyle.Bold);
            string[] dirs = Directory.GetDirectories(treeView1.SelectedNode.Text);
            foreach (string dir in dirs)
            {
                listView1.Items.Add(dir, 0);
                try
                {
                    IEnumerable<string> filesList = Directory.EnumerateFiles(dir);
                    foreach (var file in filesList)
                    {
                        treeView1.SelectedNode.Nodes.Add(file);
                        treeView1.SelectedNode.Nodes[treeView1.SelectedNode.Nodes.Count - 1].NodeFont = font;
                    }
                }
                catch (Exception ex)
                {
                    var mess = ex.Message;
                }
                treeView1.SelectedNode.Nodes.Add(dir);
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {

            string[] ids = Directory.GetDirectories(textBox1.Text);
            foreach (string id in ids)
            {
                treeView1.Nodes.Add(id);
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
        }

        private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            ListView listView = (ListView)sender;
            var path = listView.SelectedItems[0].Text;
            IEnumerable<string> filesList = Directory.EnumerateFiles(path);
            listView.Items.Clear();
            foreach (string file in filesList)
            {
                listView.Items.Add(file, 0);
                //treeView1.SelectedNode.Nodes.Add(dir);
            }
        }
    }
}



Автор: vsuperator 17.6.2013, 11:59
Все сделано, если кому будет интересен код, пишите, скину.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)