c#的功能十分強大,用它可以輕鬆地做出屬於自己的檔案瀏覽器。下面簡單地介紹一下檔案瀏覽器的大致實現過程。其中涉及的有關這些控制項的具體用法可參見c#的聯機幫助。
你需要用到幾個控制項:
treeview(用於顯示顯示目錄樹);
listview(用於顯示檔案和目錄列表);
splitter(用於允許使用者調整treeview和listview的大小);
其它的如:mainmenu,*******,statusbar,imagelist等等就看你的實際需要了。
首先,新建乙個c#專案(windows應用程式),命名為myfileview,將視窗命名為mainform,調整主視窗大小(size)。新增mainmenu,*******,statusbar,imagelist等控制項。
然後,新增treeview控制項,命名為treeview,dock屬性設為left,再新增splitter控制項,同樣將dock屬性設為left。最後新增listview控制項,命名為listview,dock屬性設為fill。
介面做好了,那麼怎樣才能在這個介面裡顯示資料夾和檔案呢?這需要我們新增**來實現。
首先引用以下名字空間:
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)
//獲取邏輯驅動器
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);
}其中,getsubnode為一方法,用於獲取子目錄,以建立目錄樹節點,引數:pathname為獲取的子目錄在此節點下建立子節點,引數isend:結束標誌,true則結束。
private void getsubnode(treenode pathname,bool isend)
if(!isend)
return; //exit this
treenode curnode;
directoryinfo subdir;
directoryinfo curdir=new directoryinfo (pathname.fullpath);
trysubdir=curdir.getdirectories();
catch{}
foreach(directoryinfo d in subdir)
curnode=new treenode(d.name);
pathname.nodes .add (curnode);
getsubnode(curnode,false);
}當滑鼠單擊目錄節點左邊的+號時,節點將展開,此時,應在afterexpand事件中加入以下**,以獲取此目錄下的子目錄節點:
private void treeview_afterexpand(object sender, system.windows.forms.treevieweventargs e)
tryforeach(treenode tn in e.node .nodes )
if (!tn.i***panded)
getsubnode(tn,true);
catch
}當滑鼠單擊選中目錄節點時,右邊的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;
trylistdir=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 程式設計打造自己的IE瀏覽器
ie是現在 windows 平台下用的最多的瀏覽器,那麼如何用程式來修改 ie,打造有自己的特色的 ie呢?我在這裡向介紹怎麼 c 用通過登錄檔來修改ie。首先我們來熟悉一下 c 中修改登錄檔的方法與函式。在 vc 中提供了 registry 類 registrykey 類來實現對登錄檔的操作。其中...
C 程式設計打造自己的IE瀏覽器 原創
ie是現在 windows 平台下用的最多的瀏覽器,那麼如何用程式來修改 ie,打造有自己的特色的 ie呢?我在這裡向介紹怎麼 c 用通過登錄檔來修改ie。首先我們來熟悉一下 c 中修改登錄檔的方法與函式。在 vc 中提供了 registry 類 registrykey 類來實現對登錄檔的操作。其中...
Visual C 打造 「瀏覽器」
visual c 打造 瀏覽器 visual c 是微軟推出的新一代程式開發語言,visual c 實現許多功能是通過呼叫.net框架為其中所有.net程式開發語言提供的乙個公用的軟體包 net framework sdk。在這個軟體包中提供了大量並且十分豐富的類庫,可以說,沒有這個軟體開發包,vi...