C 打造自己的檔案瀏覽器

2021-04-13 04:52:51 字數 2810 閱讀 9424

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...