| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 470 人关注过本帖
标题:TreeView问题
只看楼主 加入收藏
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
结帖率:33.33%
收藏
 问题点数:0 回复次数:1 
TreeView问题

为什么我的这个TreeView只能获得根目录下的第1层文件啊??
private void FilltvwDirectory()
{
//得到系统盘符
string [] drives = Environment.GetLogicalDrives();
for(int i = 0;i<drives.Length;i++)
{
//添加系统盘符
TreeNode cRoot = new TreeNode(drives[i]);
treeView1.Nodes.Add(cRoot);
AddDirectories(cRoot); //添加系统盘下的文件
}
}

private void AddDirectories(TreeNode node)
{
try
{
//获得当前截点路径
DirectoryInfo dir = new DirectoryInfo(GetPathFromNode(node));
//获取当前截点所在路径下的子文件夹
DirectoryInfo[] e = dir.GetDirectories();
for (int i = 0;i<e.Length;i++)
{
string name = e[i].Name;
if(!name.Equals(".")&&!name.Equals(".."))
{
node.Nodes.Add(new TreeNode(name));
}
}
}
catch(Exception se)
{
MessageBox.Show(se.Message);
}
}

private string GetPathFromNode(TreeNode node)
{
if (node.Parent == null)
{
return node.Text;
}
return Path.Combine(GetPathFromNode(node.Parent),node.Text); //合并父截点与相对应的子截点路径
}

private void tvwDirectory_BeforeExpand(object soure,TreeViewCancelEventArgs e)
{
TreeNode nodeExpandint = (TreeNode)e.Node;
AddSubDirectoties(nodeExpandint);
}

private void AddSubDirectoties(TreeNode node)
{
for (int i = 0;i<node.Nodes.Count;i++)
AddDirectories(node.Nodes[i]);
}

搜索更多相关主题的帖子: TreeView 
2006-12-03 13:51
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
收藏
得分:0 
问题解决了   是事件写错地方了!!

2006-12-03 14:35
快速回复:TreeView问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023094 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved