使用WinFrom控件-TreeView

 

使用WinFrom控件-TreeView
 
为了后续课程的学习,今天老师讲了一个新的控件-TreeView,说实话,上课真的没听明白,回家看了一晚上才弄懂,哎,我太愚钝了.
 
定义一个 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);
}
 
第二步 :添加子目录,定义一个方法
/// <summary>
/// 把path下的子目录都添加到node上
/// </summary>
/// <param name="path"> 当前路径 </param>
/// <param name="node"> 当前节点 </param>
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);
}
 
2010/03/28 整理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值