http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 9778|回复: 3

[其他] 删除上一级文件夹目录

[复制链接]
发表于 2013-12-30 23:19:45 | 显示全部楼层 |阅读模式
本帖最后由 onetwothree 于 2013-12-30 23:29 编辑

几个文件夹显示在listbox中,当点击一个文件夹时,显示点击文件夹里面包含的子文件夹,同时把被点击的文件夹和与他在同一级目录下的文件夹在listbox中删除。就像windows中,点击一个文件进入下一级目录一样。怎么实现?是要用到listbox.items.Remove?

谢谢!

   foreach (DirectoryInfo f in new DirectoryInfo(listBox1.SelectedItem.ToString()).GetDirectories())
            {
                listBox1.Items.Add(f.FullName);
            }

c:\main\sub\folder\file
c:\main\sub\folders

一个listbox里面: 点击sub显示子文件夹folder和与folder一起存在sub下的文件夹folders,再点击folder,显示folder下的子文件夹同时不要再显示folder和folders。


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-12-31 08:20:14 | 显示全部楼层
Tree多好了,为什么要使用这个控件
那你的意思是只能进不能出了,那我如果进入了folder就再也出不来了是吧。如果是这样
这个不需要管删除的问题,只管加载就是了,根据单击的文件夹名,加载相信的文件夹目录,
然后清理所有的listbox 然后直接重新赋值就行了
 楼主| 发表于 2013-12-31 22:21:35 | 显示全部楼层
站长苏飞 发表于 2013-12-31 08:20
用Tree多好了,为什么要使用这个控件
那你的意思是只能进不能出了,那我如果进入了folder就再也出不来了是 ...

无标题.png

自己做个小工具用。
我是把文件目录先放到combox里,然后按button1,显示下一级目录,接着就docuble click,根据选择的目录加载更下一级。如果想返回就再去combox然后按button。

当click "c:\test\releases\15\client\zh-cn"以后,显示"c:\test\releases\15\client\zh-cn\新建文件夹"的同时把其他的显示都删除哪?

    foreach (DirectoryInfo f in new DirectoryInfo(listBox1.SelectedItem.ToString()).GetDirectories())
            {
                listBox1.Items.Add(f.FullName);

            }
 楼主| 发表于 2013-12-31 22:29:06 | 显示全部楼层
站长苏飞 发表于 2013-12-31 08:20
用Tree多好了,为什么要使用这个控件
那你的意思是只能进不能出了,那我如果进入了folder就再也出不来了是 ...

tree的我也做了一个,多谢各位啦! 我自己也在想想,打扰啦。有空帮忙看一眼,没时间就直接无视吧,刚刚开始学习。。。。

1png.png

在选择一个node以后,为什么找不到它的正确路径?
[C#] 纯文本查看 复制代码
        private void Form1_Load(object sender, EventArgs e)
        {
            TreeNode root = new TreeNode();

            //根目录名称
            root.Text = "Office";

            //根目录路径
            GetFiles("c:\\test", root);
            treeView1.Nodes.Add(root);

        }


        public void GetFiles(string filePath, TreeNode node)
        {
            DirectoryInfo folder = new DirectoryInfo(filePath);
            node.Text = folder.Name;
            node.Tag = folder.FullName;
            

            FileInfo[] chldFiles = folder.GetFiles("*.*");
            foreach (FileInfo chlFile in chldFiles)
            {
                TreeNode chldNode = new TreeNode();
                chldNode.Text = chlFile.Name;
                chldNode.Tag = chlFile.FullName;
                node.Nodes.Add(chldNode);
            }

            DirectoryInfo[] chldFolders = folder.GetDirectories();
            foreach (DirectoryInfo chldFolder in chldFolders)
            {
                TreeNode chldNode = new TreeNode();
                chldNode.Text = folder.Name;
                chldNode.Tag = folder.FullName;
                node.Nodes.Add(chldNode);
                GetFiles(chldFolder.FullName, chldNode);


            }

        }

        private void button1_Click(object sender, EventArgs e)
        {

            //MessageBox.Show(treeView1.SelectedNode.FullPath.ToString());
            string showsearch = Path.GetFullPath(treeView1.SelectedNode.FullPath.ToString());
            DirectoryInfo test = new DirectoryInfo(showsearch);
            DirectoryInfo[] searchinfo = test.GetDirectories();
            foreach (DirectoryInfo news in searchinfo)
            {
                if (news.Name.Contains(textBox1.Text))
                {
                    //treeView1.Nodes.Add(news.Name);
                    listBox1.Items.Add(news.Name);
                }

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-23 20:30

© 2014-2021

快速回复 返回顶部 返回列表