成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

描述C# ListView控件

開(kāi)發(fā) 后端
這里介紹C# ListView控件,C#的功能十分強(qiáng)大,用它可以輕松地做出屬于自己的文件瀏覽器。下面簡(jiǎn)單地介紹一下文件瀏覽器的大致實(shí)現(xiàn)過(guò)程。

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

你需要用到幾個(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.  
  10. 在mainForm_Load事件中添加以下代碼,用于在treeView控件中顯示目錄樹(shù):  
  11. private void mainForm_Load(object sender, System.EventArgs e)  
  12. //獲取邏輯驅(qū)動(dòng)器  
  13. string[] LogicDrives=System.IO .Directory .GetLogicalDrives();  
  14. TreeNode[] cRoot =new TreeNode[LogicDrives.Length];  
  15. for (int i=0;i< LogicDrives.Length ;i++)  
  16. {  
  17. TreeNode drivesNode=new TreeNode(LogicDrives[i]);  
  18. treeView.Nodes .Add (drivesNode);  
  19. if (LogicDrives[i]!="A:\\" && LogicDrives[i]!="B:\\" )  
  20. getSubNode(drivesNode,true);  
  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. }  

當(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{;}  

當(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);  

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

【編輯推薦】

  1. C#特有線(xiàn)程功能
  2. 淺談C#對(duì)象和集合
  3. 淺析C# FTP WebRequest對(duì)象
  4. C#分部方法的應(yīng)用場(chǎng)景
  5. 概述C#線(xiàn)程功能
責(zé)任編輯:佚名 來(lái)源: 博客園
相關(guān)推薦

2009-08-24 18:21:23

C# ListView

2009-08-21 15:27:11

C# DataGrid

2009-09-03 10:19:12

C#表單控件

2009-08-13 17:04:09

C#語(yǔ)言C#程序

2009-08-17 16:32:34

C# Anonymou

2009-08-31 13:18:09

C# IWebMess

2009-08-26 17:49:36

C# readonly

2009-08-03 18:08:39

C# ICloneab

2009-08-31 18:32:01

C# ListBoxE

2009-08-20 09:30:03

C#開(kāi)發(fā)WinForm

2009-08-03 16:45:02

C#異步Socket

2011-05-20 16:07:29

C#

2009-08-19 10:09:21

C#和C++

2009-09-01 18:25:32

C#結(jié)構(gòu)實(shí)例

2009-09-04 11:15:07

選擇C#構(gòu)造函數(shù)

2009-09-04 13:22:31

C#實(shí)現(xiàn)多個(gè)接口

2009-08-21 17:31:58

C#垃圾回收

2009-08-13 17:58:34

C#存儲(chǔ)過(guò)程

2009-09-02 13:01:11

C#多路廣播

2009-08-28 09:30:48

C#命名屬性
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 在线观看成年视频 | 一级毛片视频在线 | 欧美性猛交 | av入口| 成年无码av片在线 | 在线一区观看 | 特级a欧美做爰片毛片 | 中文字幕在线免费观看 | 国产精品久久久久久久久久久久冷 | 国产一区二区av | 国产高清视频在线观看 | 亚洲精品成人免费 | 亚洲欧美综合精品久久成人 | 欧美片网站免费 | 久久区二区 | 中文字幕在线网 | 欧美 日韩 国产 成人 在线 | 91精品国产一区二区三区香蕉 | 国产小视频精品 | 国产精品日韩欧美一区二区三区 | 日本福利视频 | 国产成人精品高清久久 | 欧美精品在线一区 | 亚洲精品免费在线 | 在线免费观看黄a | 日日日视频| 爱爱视频在线观看 | 亚洲综合国产精品 | 精品久久久久久久久久久久 | 成人网av| 国产精品黄色 | 天天曰天天曰 | 成人在线免费观看视频 | 亚洲一区二区久久 | 免费观看成人性生生活片 | 色av一区二区三区 | 国产精品日日做人人爱 | 婷婷久久精品一区二区 | 国产乱码精品一区二区三区av | 欧美激情在线精品一区二区三区 | 免费a在线 |