a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

C#實現獲取系統目錄并以Tree樹叉顯示的方法

2020-01-24 02:39:32
字體:
來源:轉載
供稿:網友

本文講述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 = ""; } }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品久久久久久久竹霞 | 草樱av| 久久精品一区二区三区四区 | 日本久久精品视频 | 日本妇人成熟免费视频 | 国产一区在线免费 | 中文精品在线观看 | 激情欧美一区 | 超碰一区 | 色婷婷中文 | 成人亚洲欧美 | 成人一边做一边爽爽视频 | 99精品国产99久久久久久福利 | 亚洲黄色影视 | 久久av一区二区三区 | 国产第一页在线播放 | 久久久com | 国产一区二区三区四区五区加勒比 | 青青草综合在线 | 国产一区在线看 | 亚洲啊v | 国产精品自拍一区 | 五月综合婷 | 精品久久久久久国产 | 国产精品视频久久久久久 | 欧美在线一二三 | 国产区视频在线观看 | 欧美a一级 | 国产精品日韩在线 | 中国黄色一级毛片 | 国产大奶视频 | www日韩| 99久久婷婷国产综合精品 | 日本一区二区三区四区视频 | 三级电影网址 | 成人亚洲免费 | 蜜臀av性久久久久av蜜臀妖精 | 另类三级| 久久国产一区二区 | 国产视频一区二区在线 | 欧美一级网站 |