A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许庭洲 黑马帝   /  2012-10-30 20:41  /  1272 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

使用TreeView

第一步:创建一个Windows窗体应用程序项目TreeViewDemo

第二步:在窗体上放置一个TreeView,并设置Dock=Left

第三步:在窗体上添加一个ImageList并添加一幅图片,然后设置TreeViewImageListimageList1

第四步:在窗体上添加一个ListView

第五步:为窗体添加Load事件,在添加之前,要添加System.IO引用
private void ListNodes(string path)
{
         string[] paths = Diractory.GetDirectories(path);
         foreach(string p in paths)
        {
               treeView1.Nodes.Add(p);
               ListNodes(p);
         }
}

private void Form1_Load(object sender, EventArgs e)
{
          string path = @"C:\Documents and Settings\Administrator\Favorites";
          ListNodes(path);//得到指定目录下文件夹并添加到TreeView
}

第六步:TreeView添加AfterSelect事件
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
         string path = treeView1.SelectedNode.Text;
         string[] files = Directory.GetFiles(path);

        listView.Items.Clear();  //清空ListView
        listView1.View = View.List;

     
         foreach(string file in files)  //将选择文件夹下的文件添加到ListView
         {
                listView1.Items.Add(file);
         }
}
     



评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

1 个回复

倒序浏览
大哥!我简单说几点:
第一、你这个没有用到递归,也就是子文件夹下的目录你这里取不到,建议在foreach父级目录时候,再次ListNodes(path+"\"+file),你试一下!
第二、能不能连接数据库,把路径存一张表,动态获取各个节点以及链接地址

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马