C#文件瀏覽器制作的詳細過程
C#的功能十分強大,用它可以輕松地做出屬于自己的C#文件瀏覽器。下面簡單地介紹一下C#文件瀏覽器的大致實現(xiàn)過程。其中涉及的有關這些控件的具體用法可參見C#的聯(lián)機幫助。
制作C#文件瀏覽器需要用到幾個控件:
TreeView(用于顯示顯示目錄樹);
ListView(用于顯示文件和目錄列表);
Splitter(用于允許用戶調(diào)整TreeView和ListView的大小);
其它的如:MainMenu,ToolBar,StatusBar,ImageList等等就看你的實際需要了。
首先,新建一個C#項目(Windows應用程序),命名為MyFileView,將窗口命名為mainForm,調(diào)整主窗口大小(Size)。添加MainMenu,ToolBar,StatusBar,ImageList等控件。
然后,添加TreeView控件,命名為treeView,Dock屬性設為Left,再添加Splitter控件,同樣將Dock屬性設為Left。***添加ListView控件,命名為listView,Dock屬性設為Fill。
界面做好了,那么怎樣才能在這個界面里顯示文件夾和文件呢?這需要我們添加代碼來實現(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控件中顯示目錄樹:
- private void mainForm_Load(
- object sender, System.EventArgs e)
- //獲取邏輯驅(qū)動器
- 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)建目錄樹
其中,getSubNode為一方法,用于獲取子目錄,以創(chuàng)建目錄樹節(jié)點,參數(shù):PathName為獲取的子目錄在此節(jié)點下創(chuàng)建子節(jié)點,參數(shù)isEnd:結束標志,true則結束。
- 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);
- }
- }
當鼠標單擊目錄節(jié)點左邊的+號時,節(jié)點將展開,此時,應在AfterExpand事件中加入以下代碼,以獲取此目錄下的子目錄節(jié)點:
- 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{;}
- }
當鼠標單擊選中目錄節(jié)點時,右邊的listView控件應顯示此目錄下的文件和目錄,代碼如下:
- 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);
- }
至此,一個簡單的C#文件瀏覽器就做成了,當然,它還很初級,甚至不能用它打開一個文件,加另外,它也不能顯示文件和目錄的圖。
C#文件瀏覽器的制作內(nèi)容就向你介紹到這里,希望對你了解和學習C#文件瀏覽器有所幫助。
【編輯推薦】