C# TreeView 磁盘文件,资源管理器,AfterSelect,显示加号
来源:互联网 发布:一国两智 知乎 编辑:程序博客网 时间:2024/04/27 13:42
可以看到,项的前面都显示了加号(+),而且读取了磁盘的文件。代码如下
主程序代码:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;namespace FileManager{ public partial class Main : Form { public Main() { InitializeComponent(); } /// <summary> /// 加载逻辑磁盘文件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Main_Load(object sender, EventArgs e) { DriveInfo[] myDrivers = DriveInfo.GetDrives(); foreach (DriveInfo di in myDrivers) { if (di.IsReady) { TreeNode tNode = new TreeNode(di.Name.Split(':')[0]); tNode.Name = di.Name; tNode.Tag = tNode.Name; tNode.Nodes.Add("DUMMY"); tvRoot.Nodes.Add(tNode); } } //添加鼠标右键的事件 this.tvRoot.ContextMenuStrip = new TreeViewContextMenu().Load(); } /// <summary> /// TreeView必须处理的两个事件之一 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tvRoot_AfterSelect(object sender, TreeViewEventArgs e) { e.Node.Expand(); } /// <summary> /// TreeView必须处理的两个事件之一 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tvRoot_BeforeExpand(object sender, TreeViewCancelEventArgs e) { TreeViewItems.Add(sender, e); } }}
为TreeView添加TreeNode的代码:
public static class TreeViewItems { public static void Add(object sender, TreeViewCancelEventArgs e) { e.Node.Nodes.Clear(); TreeNode tNode = e.Node; //MessageBox.Show(tNode.Name); string path = tNode.Name; string[] dics = Directory.GetDirectories(path); foreach (string dic in dics) { TreeNode subNode = new TreeNode(new DirectoryInfo(dic).Name); subNode.Name = new DirectoryInfo(dic).FullName; subNode.Tag = subNode.Name; subNode.Nodes.Add(""); tNode.Nodes.Add(subNode); } string[] files = Directory.GetFiles(path); foreach (string aFile in files) { TreeNode subNode = new TreeNode(new FileInfo(aFile).Name); subNode.Tag = aFile; subNode.Name = subNode.Text; tNode.Nodes.Add(subNode); } } }
这里注意e.Node.Nodes.Clear();还有给节点的下面添加一个空的节点:如
tNode.Nodes.Add("DUMMY");
和
subNode.Nodes.Add("");
这些都是添加空节点的方式来显示 “加号”。。。然后正式加载的时候删掉
- C# TreeView 磁盘文件,资源管理器,AfterSelect,显示加号
- 使用TreeView控件显示磁盘文件
- C# 系统应用之TreeView控件 (一).显示树状磁盘文件目录及加载图标
- C# 系统应用之TreeView控件显示树状磁盘文件目录及加载图标
- C# 系统应用之TreeView控件显示树状磁盘文件目录及加载图标
- treeView 加载子节点并显示加号
- 动态加载TreeView时让TreeView节点前显示加号
- C#中用Treeview空间显示XML文件
- TreeView控件AfterSelect、NodeMouseClick事件的问题
- winform中利用Treeview模仿资源管理器实现图片文件列表
- TreeView实现资源管理器
- c# winform项目treeview控件绑定本地电脑磁盘信息,读取文件夹信息,显示文件夹内文件内容
- c# winform项目treeview控件绑定本地电脑磁盘信息,读取文件夹信息,显示文件夹内文件内容
- 有意思----scf文件-显示桌面、资源管理器...
- C#模拟电脑资源管理器查看文件功能
- C# 打开资源管理器并选中某个文件
- C#类似windows资源管理器-获取文件图标
- C#实现Windows资源管理器文件预览
- 【SqlServer】自动生成日期加数字的序列号
- 餐桌上的“爱心菜”
- 丰富资料下载网址文档
- 编译QT4.8.2完成之后,mingw32-make install时出错的解决方案
- 安卓 Animation 二 XML使用方法
- C# TreeView 磁盘文件,资源管理器,AfterSelect,显示加号
- iphone开发之常用代码:不断更新
- 解决 Lr[10061]Connection refused
- LDO(低压差)线性稳压器与BUCK(降压型)开关稳压器的应用比较
- VC++]用CTime类得到当前日期、时间、星期,格式化(详细讲解)
- KMP算法深度解析
- 土坷垃的情怀
- 字符数组,字符指针,字符串常量以及其sizeof的一些总结
- 餐桌上的“爱心菜”