溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#文件瀏覽器制作方法是什么

發(fā)布時(shí)間:2021-12-01 11:47:25 來(lái)源:億速云 閱讀:146 作者:iii 欄目:編程語(yǔ)言

這篇文章主要介紹“C#文件瀏覽器制作方法是什么”,在日常操作中,相信很多人在C#文件瀏覽器制作方法是什么問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”C#文件瀏覽器制作方法是什么”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

制作C#文件瀏覽器需要用到幾個(gè)控件:

TreeView(用于顯示顯示目錄樹(shù));

ListView(用于顯示文件和目錄列表);

Splitter(用于允許用戶調(diào)整TreeView和ListView的大小);

其它的如:MainMenu,ToolBar,StatusBar,ImageList等等就看你的實(shí)際需要了。

首先,新建一個(gè)C#項(xiàng)目(Windows應(yīng)用程序),命名為MyFileView,將窗口命名為mainForm,調(diào)整主窗口大小(Size)。添加MainMenu,ToolBar,StatusBar,ImageList等控件。

然后,添加TreeView控件,命名為treeView,Dock屬性設(shè)為L(zhǎng)eft,再添加Splitter控件,同樣將Dock屬性設(shè)為L(zhǎng)eft。***添加ListView控件,命名為listView,Dock屬性設(shè)為Fill。

界面做好了,那么怎樣才能在這個(gè)界面里顯示文件夾和文件呢?這需要我們添加代碼來(lái)實(shí)現(xiàn)。

C#文件瀏覽器之首先引用以下名字空間:

using System;  using System.Drawing;  using System.Collections;  using System.ComponentModel;  using System.Windows.Forms;  using System.Data;  using System.IO ;  using System .Runtime .InteropServices ;

在mainForm_Load事件中添加以下代碼,用于在treeView控件中顯示目錄樹(shù):

private void mainForm_Load(  object sender, System.EventArgs e)  //獲取邏輯驅(qū)動(dòng)器  string[] LogicDrives=System.IO .Directory .GetLogicalDrives();  TreeNode[] cRoot =new TreeNode[LogicDrives.Length];  for (int i=0;i< LogicDrives.Length ;i++)  {  TreeNode drivesNode=new TreeNode(LogicDrives[i]);  treeView.Nodes .Add (drivesNode);  if (LogicDrives[i]!="A:\\" && LogicDrives[i]!="B:\\" )  getSubNode(drivesNode,true);  }  }

C#文件瀏覽器之創(chuàng)建目錄樹(shù)

其中,getSubNode為一方法,用于獲取子目錄,以創(chuàng)建目錄樹(shù)節(jié)點(diǎn),參數(shù):PathName為獲取的子目錄在此節(jié)點(diǎn)下創(chuàng)建子節(jié)點(diǎn),參數(shù)isEnd:結(jié)束標(biāo)志,true則結(jié)束。

private void getSubNode(TreeNode PathName,bool isEnd)  {  if(!isEnd)  return; //exit this  TreeNode curNode;  DirectoryInfo[] subDir;  DirectoryInfo curDir=new DirectoryInfo (PathName.FullPath);  try {  subDir=curDir.GetDirectories();  }  catch{}  foreach(DirectoryInfo d in subDir)  {  curNode=new TreeNode(d.Name);  PathName.Nodes .Add (curNode);  getSubNode(curNode,false);  }  }

當(dāng)鼠標(biāo)單擊目錄節(jié)點(diǎn)左邊的+號(hào)時(shí),節(jié)點(diǎn)將展開(kāi),此時(shí),應(yīng)在AfterExpand事件中加入以下代碼,以獲取此目錄下的子目錄節(jié)點(diǎn):

private void treeView_AfterExpand(  object sender,   System.Windows.Forms.TreeViewEventArgs e)  {  try {  foreach(TreeNode tn in e.Node .Nodes )  {  if (!tn.IsExpanded)  getSubNode(tn,true);  }  }  catch{;}  }

當(dāng)鼠標(biāo)單擊選中目錄節(jié)點(diǎn)時(shí),右邊的listView控件應(yīng)顯示此目錄下的文件和目錄,代碼如下:

private void treeView_AfterSelect(  object sender,System.Windows.Forms.TreeViewEventArgs e)  {  listView.Items.Clear();  DirectoryInfo selDir=  new DirectoryInfo(e.Node.FullPath );  DirectoryInfo[] listDir;  FileInfo[] listFile;  try {  listDir=selDir.GetDirectories();  listFile=selDir.GetFiles();  }  catch{}  foreach (DirectoryInfo d in listDir)  listView.Items .Add (d.Name,6);  foreach (FileInfo d in listFile)  listView.Items .Add (d.Name);  }

到此,關(guān)于“C#文件瀏覽器制作方法是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI