社区
C#
帖子详情
求TreeView绑定任意路径的方法
cosmicking
2006-09-12 09:01:26
我想用TreeView来绑定任意路径,但不知道如何加载子节点,循环读出来的目录和文件都显示在根节点中。忘高手指点迷津!
...全文
358
10
打赏
收藏
求TreeView绑定任意路径的方法
我想用TreeView来绑定任意路径,但不知道如何加载子节点,循环读出来的目录和文件都显示在根节点中。忘高手指点迷津!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cosmicking
2006-09-13
打赏
举报
回复
解决啦,我在treeView的beforeExpand事件里写的,判断当前节点是否是目录,然后继续向下展开!
lovvver
2006-09-12
打赏
举报
回复
不会慢,关键看你的目录下的文件夹以及文件有多少,如果上万的话,那肯定会慢了,就是你手动在资源管理器中打开都会比较慢。
cosmicking
2006-09-12
打赏
举报
回复
用递归的话,程序运行起来会不会很慢啊?
cosmicking
2006-09-12
打赏
举报
回复
geoffe(),你用的2003还是2005。我怎么调不过去呢!有些属性我的2003里没有!
GXY2005
2006-09-12
打赏
举报
回复
递归算法
geoffe
2006-09-12
打赏
举报
回复
比如绑定我的电脑
那你用一个循环就可以了
根极点是硬盘,子节点是相应的文件夹
private void FillTree()
{
this.treeview1.Nodes.Clear();
TreeNode RootNode = new TreeNode(openDialog1.fileName)
TreeNode DriveNode;
string[] strDrivers = Environment.GetLogicalDrives();
foreach (string DriverName in strDrivers)
{
DriveNode = new TreeNode(DriverName);
DriveNode.Name = "" + DriverName;
DriveNode.Tag = false;
if (CheckISSubFolder(DriverName))
{
TreeNode tmpnode = new TreeNode("tmp");
DriveNode.Nodes.Add(tmpnode);
}
RootNode.Nodes.Add(DriveNode);
}
if (RootNode.Nodes.Count > 0)
RootNode.Expand();
this.sysTreeView.Nodes.Add(RootNode);
}
private bool CheckISSubFolder(string Path)
{
DirectoryInfo dir = new DirectoryInfo(Path);
if (!dir.Exists)
{
return false;
}
else
{
DirectoryInfo[] subDirs = dir.GetDirectories();
int i = 0;
foreach (DirectoryInfo subDir in subDirs)
{
if ((subDir.Attributes & FileAttributes.Hidden) != 0)
{
continue;
}
else
{
if (++i > 0)
return true;
}
}
return false;
}
}
private void GetSubDirectory(TreeNode ParentNode, string Path)
{
try
{
DirectoryInfo dir = new DirectoryInfo(Path);
DirectoryInfo[] subDirs = dir.GetDirectories();
TreeNode SubNode;
ParentNode.Nodes.RemoveAt(0);
foreach (DirectoryInfo subDir in subDirs)
{
if ((subDir.Attributes & FileAttributes.Hidden) != 0)
continue;
SubNode = new TreeNode(subDir.Name);
SubNode.Name = subDir.FullName;
SubNode.Tag = false;
if (CheckISSubFolder(subDir.FullName))
{
TreeNode tmpnode = new TreeNode("tmp");
SubNode.Nodes.Add(tmpnode);
}
ParentNode.ImageIndex = 1;
ParentNode.SelectedImageIndex = 0;
ParentNode.Nodes.Add(SubNode);
}
}
catch { }
}
cosmicking
2006-09-12
打赏
举报
回复
自己再顶一下!
cosmicking
2006-09-12
打赏
举报
回复
我会搜索所有文件,可不知道怎么把它按文件夹的路径加到treeView里,生成树状结构!
cosmicking
2006-09-12
打赏
举报
回复
我是在winform下用的,有没有简单点的,给我点算法的提示就行!
fds2003
2006-09-12
打赏
举报
回复
http://www.cnblogs.com/Bolik/archive/2006/09/11/501141.html
linux命令cd-,linux命令之cd命令
linux中cd命令是最基本的命令语句,所以掌握它并不难。下面由学习啦小编为大家整理了linux命令之cd命令的相关知识,希望对大家有所帮助!linux命令之cd命令详解1. 命令格式:cd [目录名]2. 命令功能:切换当前目录至dirNamelinux命令cd命令常用范例例1:进入系统根目录命令:cd /输出:[root@localhost ~]# cd /说明:进入系统根目录,上面命令执行完...
linux cd 命令详解,linux cd 命令详解
下面为大家讲解Linux最常用的基本命令linux cd命令。说linux cd命令是linux最常用的命令一点也不为过,我们几乎时时刻刻都需要使用这个命令。在DOS下也有cd这个命令,他与linux cd命令的功能大致一样,但也有区别,下面我们来讲解。复制内容到剪贴板代码:linux cd命令介绍1.名称:cd2.使用对象:所有使用者3.命令格式:cd [dirName] (cd和目录...
Linux cd 命令使用介绍
Linux cd 命令是Linux中最基本的命令语句,同时也是常用的命令,其他的命令语句要进行操作,都是建立在使用 cd 命令上的。因此先要学好 cd 命令的使用
方法
技巧。
Linux cd命令
cd命令 1、介绍加粗样式: cd - Change Directory 切换目录 cd是Linux中最常用的命令之一。 2、 命令格式 cd [相对
路径
或绝对
路径
或特殊符号] 3、 命令功能 切换目录 4、 命令用法 ① 不加参数时,默认切换到用户主目录 ② 接绝对
路径
或相对
路径
,切换到对应目录 ③ 接特殊符号,进入到对应表示目录 ~进入用户主目录; -返回进入此目录之前所在的目录; …返回上级...
Linux中cd命令如何使用,Linux cd命令怎么使用
cd命令式Linux命令中最基本的命令,也是最常用的命令之一,在使用Linux命令时几乎都要用到cd命令,所以学习Linux命令,cd命令是必须要掌握的,下面随小编一起来详细了解下cd命令吧。1. 命令格式:cd [目录名]2. 命令功能:切换当前目录至dirName3. 常用范例3.1 例一:进入系统根目录命令:cd /输出:[root@localhost ~]# cd /说明:进入系统根目录,...
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章