本文讲述C#获取Windows系统目录,如何目录遍历以及将信息捆绑在TreeView中显示出来的实现方法,具体实现代码如下:
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.IO; namespace 获取系统目录 { public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.TreeView treeView1; private System.ComponentModel.IContainer components; private System.Windows.Forms.Button button2; private System.Windows.Forms.Label label2; private System.Windows.Forms.Button button1; private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.Label label1; public Form1() { InitializeComponent(); FillTree(treeView1, true); // 显示所有文件夹以及文件 } protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows 窗体设计器生成的代码 private void InitializeComponent() { this.textBox1 = new System.Windows.Forms.TextBox(); this.label2 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); this.treeView1 = new System.Windows.Forms.TreeView(); this.button1 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button(); this.SuspendLayout(); this.textBox1.Location = new System.Drawing.Point(280, 56); this.textBox1.Multiline = true; this.textBox1.Name = "textBox1"; this.textBox1.Size = new System.Drawing.Size(208, 192); this.textBox1.TabIndex = 3; this.textBox1.Text = ""; this.label2.AutoSize = true; this.label2.Location = new System.Drawing.Point(280, 24); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(116, 17); this.label2.TabIndex = 4; this.label2.Text = "文件夹或文件信息:"; this.label1.AutoSize = true; this.label1.Location = new System.Drawing.Point(16, 24); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(153, 17); this.label1.TabIndex = 5; this.label1.Text = "请选择一个文件夹或文件:"; this.treeView1.ImageIndex = -1; this.treeView1.Location = new System.Drawing.Point(16, 56); this.treeView1.Name = "treeView1"; this.treeView1.SelectedImageIndex = -1; this.treeView1.Size = new System.Drawing.Size(184, 192); this.treeView1.TabIndex = 6; this.button1.Location = new System.Drawing.Point(216, 104); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(48, 32); this.button1.TabIndex = 7; this.button1.Text = "显示"; this.button1.Click += new System.EventHandler(this.button1_Click); this.button2.Location = new System.Drawing.Point(216, 168); this.button2.Name = "button2"; this.button2.Size = new System.Drawing.Size(48, 32); this.button2.TabIndex = 8; this.button2.Text = "清空"; this.button2.Click += new System.EventHandler(this.button2_Click); this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); this.ClientSize = new System.Drawing.Size(504, 277); this.Controls.Add(this.button2); this.Controls.Add(this.button1); this.Controls.Add(this.treeView1); this.Controls.Add(this.label1); this.Controls.Add(this.label2); this.Controls.Add(this.textBox1); this.Name = "Form1"; this.Text = "Form1"; this.ResumeLayout(false); } #endregion [STAThread] static void Main() { Application.Run(new Form1()); } // 填充目录和文件到 TreeView 控件中 // isSource 表示是否显示文件 private void FillTree(TreeView treeView,bool isSource) { treeView.Nodes.Clear(); // 清空 // 获取系统上的所有逻辑驱动器 string[] strDrives = Environment.GetLogicalDrives(); foreach(string rootDirectoryName in strDrives) { try { // 获取驱动器顶级目录列表 DirectoryInfo dir = new DirectoryInfo(rootDirectoryName); // 如果获得的目录信息正确,则将它添加到 TreeView 控件中 if (dir.Exists == true) { TreeNode newNode = new TreeNode(rootDirectoryName); treeView.Nodes.Add(newNode); if (isSource) { GetSubDirectoryNodes(newNode, newNode.Text, true); } else { GetSubDirectoryNodes(newNode, newNode.Text, false); } } } catch(Exception e) { MessageBox.Show(e.Message); } } } // 遍历子目录 private void GetSubDirectoryNodes(TreeNode parentNode, string fullName, bool getFileNames) { DirectoryInfo dir = new DirectoryInfo(fullName); DirectoryInfo[] subDirs = dir.GetDirectories(); // 为每一个子目录添加一个子节点 foreach(DirectoryInfo subDir in subDirs) { // 不显示隐藏文件夹 if((subDir.Attributes & FileAttributes.Hidden) != 0) { continue; } TreeNode subNode = new TreeNode(subDir.Name); parentNode.Nodes.Add(subNode); // 递归调用GetSubDirectoryNodes GetSubDirectoryNodes(subNode, subDir.FullName, getFileNames); } // 获取目录中的文件 if(getFileNames) { FileInfo[] files = dir.GetFiles(); foreach(FileInfo file in files) { TreeNode fileNode = new TreeNode(file.Name); parentNode.Nodes.Add(fileNode); } } } private void button1_Click(object sender, System.EventArgs e) { try { TreeNode selectedNode = treeView1.SelectedNode; DirectoryInfo info = new DirectoryInfo(selectedNode.FullPath); string [] strArray = new string[4]; strArray[0] = "完整路径名 : "+ info.FullName; strArray[1] = "创建时间 : "+ info.CreationTime.ToString(); strArray[2] = "上次访问时间 : "+ info.LastAccessTime.ToString(); strArray[3] = "上次写入时间 : "+ info.LastWriteTime.ToString(); textBox1.Lines = strArray; } catch(Exception exc) { MessageBox.Show(exc.Message); } } private void button2_Click(object sender, System.EventArgs e) { textBox1.Text = ""; } } }
本文向大家介绍C#获取根目录实现方法汇总,包括了C#获取根目录实现方法汇总的使用技巧和注意事项,需要的朋友参考一下 1.控制台应用程序 运行结果: 2.winform应用程序 运行结果: 3.MVC和WebForm项目 通过Server.MapPath("/")获取根目录 4.WebApi项目 WebApi Core的根目录获取:HttpRuntime.AppDomainAppPath 补充:We
本文向大家介绍C# TreeView无限目录树实现方法,包括了C# TreeView无限目录树实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C# TreeView无限目录树实现方法。分享给大家供大家参考,具体如下: 更多关于C#相关内容感兴趣的读者可查看本站专题:《C#程序设计之线程使用技巧总结》、《C#操作Excel技巧总结》、《C#中XML文件操作技巧汇总》、《C#常见控件用
本文向大家介绍C#实现获取运行平台系统信息的方法,包括了C#实现获取运行平台系统信息的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#获取运行平台系统信息的方法,主要可以实现C#获取系统启动经过的毫秒数,相连网络域名,系统启动经过的毫秒数等,并有关于ListView控件的相关操作。 具体的实现代码如下:
本文向大家介绍JS二叉树的简单实现方法示例,包括了JS二叉树的简单实现方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS二叉树的简单实现方法。分享给大家供大家参考,具体如下: 今天学习了一下 二叉树的实现,在此记录一下 简单的二叉树实现,并且实现升序和降序排序输出 更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数据结构与算法技巧总结》、《J
本文向大家介绍python3获取当前目录的实现方法,包括了python3获取当前目录的实现方法的使用技巧和注意事项,需要的朋友参考一下 1. 以前的方法 如果是要获得程序运行的当前目录所在位置,那么可以使用os模块的os.getcwd()函数。 如果是要获得当前执行的脚本的所在目录位置,那么需要使用sys模块的sys.path[0]变量或者sys.argv[0]来获得。实际上sys.path是Py
本文向大家介绍Python3遍历目录树实现方法,包括了Python3遍历目录树实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python3遍历目录树的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python3程序设计有所帮助。