日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
描述C#ListView控件

C#的功能十分強(qiáng)大,用它可以輕松地做出屬于自己的文件瀏覽器。下面簡(jiǎn)單地介紹一下文件瀏覽器的大致實(shí)現(xiàn)過(guò)程。其中涉及的有關(guān)這些控件的具體用法可參見(jiàn)C#的聯(lián)機(jī)幫助。

澄江網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,澄江網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為澄江上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的澄江做網(wǎng)站的公司定做!

你需要用到幾個(gè)控件:
◆C# TreeView控件(用于顯示顯示目錄樹(shù));
◆C# ListView控件(用于顯示文件和目錄列表);
◆C# Splitter控件(用于允許用戶(hù)調(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。最后添加C# ListView控件,命名為listView,Dock屬性設(shè)為Fill。

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

首先引用以下名字空間:

 
 
 
  1. using System;
  2. using System.Drawing;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Windows.Forms;
  6. using System.Data;
  7. using System.IO ;
  8. using System .Runtime .InteropServices ;
  9. 在mainForm_Load事件中添加以下代碼,用于在treeView控件中顯示目錄樹(shù):
  10. private void mainForm_Load(object sender, System.EventArgs e)
  11. //獲取邏輯驅(qū)動(dòng)器
  12. string[] LogicDrives=System.IO .Directory .GetLogicalDrives();
  13. TreeNode[] cRoot =new TreeNode[LogicDrives.Length];
  14. for (int i=0;i< LogicDrives.Length ;i++)
  15. {
  16. TreeNode drivesNode=new TreeNode(LogicDrives[i]);
  17. treeView.Nodes .Add (drivesNode);
  18. if (LogicDrives[i]!="A:\\" && LogicDrives[i]!="B:\\" )
  19. getSubNode(drivesNode,true);
  20. }
  21. }

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

 
 
 
  1. private void getSubNode(TreeNode PathName,bool isEnd)
  2. {
  3. if(!isEnd)
  4. return; //exit this
  5. TreeNode curNode;
  6. DirectoryInfo[] subDir;
  7. DirectoryInfo curDir=new DirectoryInfo (PathName.FullPath);
  8. try
  9. {
  10. subDir=curDir.GetDirectories();
  11. }
  12. catch{}
  13. foreach(DirectoryInfo d in subDir)
  14. {
  15. curNode=new TreeNode(d.Name);
  16. PathName.Nodes .Add (curNode);
  17. getSubNode(curNode,false);
  18. }
  19. }

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

 
 
 
  1. private void treeView_AfterExpand
    (object sender, System.Windows.Forms.TreeViewEventArgs e)
  2. {
  3. try
  4. {
  5. foreach(TreeNode tn in e.Node .Nodes )
  6. {
  7. if (!tn.IsExpanded)
  8. getSubNode(tn,true);
  9. }
  10. }
  11. catch{;}
  12. }

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

 
 
 
  1. private void treeView_AfterSelect
    (object sender,System.Windows.Forms.TreeViewEventArgs e)
  2. {
  3. listView.Items.Clear();
  4. DirectoryInfo selDir=new DirectoryInfo(e.Node.FullPath );
  5. DirectoryInfo[] listDir;
  6. FileInfo[] listFile;
  7. try
  8. {
  9. listDir=selDir.GetDirectories();
  10. listFile=selDir.GetFiles();
  11. }
  12. catch{}
  13. foreach (DirectoryInfo d in listDir)
  14. listView.Items .Add (d.Name,6);
  15. foreach (FileInfo d in listFile)
  16. listView.Items .Add (d.Name);
  17. }

至此,一個(gè)簡(jiǎn)單的文件瀏覽器就做成了,當(dāng)然,它還很初級(jí),甚至不能用它打開(kāi)一個(gè)文件,加另外,它也不能顯示文件和目錄的圖標(biāo),沒(méi)有進(jìn)行錯(cuò)誤處理,沒(méi)有進(jìn)行安全控制……它能給你的只是一個(gè)思路。


新聞名稱(chēng):描述C#ListView控件
轉(zhuǎn)載注明:http://m.5511xx.com/article/dhogpjp.html