ITPub博客

首页 > Linux操作系统 > Linux操作系统 > WinFrom控件-TreeView

WinFrom控件-TreeView

原创 Linux操作系统 作者:fangqm 时间:2011-02-27 20:47:01 0 删除 编辑
 //实例根节点
            TreeNode RootNode = new TreeNode(softTitle );
            //实例子节点
            TreeNode childNode = new TreeNode("abc");
             //根节点添加子节点
            //RootNode.Nodes.Add(childNode);
            treeView1.Nodes.Add(RootNode);
 
 
定义一个TreeView控件命名为tv
private void frmTreeView_Load(object sender, EventArgs e)
{
TreeNode node1 = new TreeNode(); //创建TreeView节点
node1.Text = "C:\\"; //树节点标签显示的文本
TreeNode node2 = new TreeNode();
node2.Text = "D:\\";
 
TreeNode childNode1 = new TreeNode();
childNode1.Text = "Programs";
node1.Nodes.Add(childNode1); //将childNode1添加为node1的子节点
 
tv.Nodes.Add(node1); //将根节点添加到TreeView控件中
tv.Nodes.Add(node2);
}
 
应用进阶:制作一个类似windows资源管理器的窗口,使用TreeView控件显示计算机磁盘及目录结构.
 
第一步:添加根目录
DriveInfo[] drive = DriveInfo.GetDrives();//获取计算机所有逻辑启动器名,返回一个DriveInfo类型数组
foreach (DriveInfo var in drive) //遍历drive 将驱动器名写入根节点
{
    TreeNode node = new TreeNode();
node.Text = var.ToString();
//………这里要添加子目录
    tv.Nodes.Add(node);
}
 
第二步:添加子目录,定义一个方法
///
///把path下的子目录都添加到node上
///
///当前路径
///当前节点
public void addPath(string path,TreeNode node)
{
string[] childPath = Directory.GetDirectories(path);//获取当前目录中子目录,返回string类型数组
foreach (string var in childPath) //遍历childPath
{
TreeNode nodeChild = new TreeNode();
node.Nodes.Add(nodeChild);
addPath(var,nodeChild);//如果子目录下还有子目录就一直循环到没有子目录为止
}
}
 
将以上方法应用到程序主体:
 
DriveInfo[] drive = DriveInfo.GetDrives();
foreach (DriveInfo var in drive)
 {
       int i = var.LastIndexOf('\\'); //取出多余路径
     string varStu = var;
     if (i > 0)
     {
       varStu = var.Substring(i+1);
     }
    TreeNode node = new TreeNode(varStu); //(varStu)等同于node.Text= var;
node.Text = var.ToString();
addPath(var.ToString(),node); //………这里要添加子目录
    tv.Nodes.Add(node);
}

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23109131/viewspace-688051/,如需转载,请注明出处,否则将追究法律责任。

下一篇: winform-TreeView
请登录后发表评论 登录
全部评论

注册时间:2010-03-24

  • 博文量
    298
  • 访问量
    730532