六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

C#打造自己的文件瀏覽器

[摘要]C#的功能十分強(qiáng)大,用它可以輕松地做出屬于自己的文件瀏覽器。下面簡單地介紹一下文件瀏覽器的大致實(shí)現(xiàn)過程。其中涉及的有關(guān)這些控件的具體用法可參見C#的聯(lián)機(jī)幫助。  你需要用到幾個(gè)控件:   TreeView(用于顯示顯示目錄樹);   ListView(用于顯示文件和目錄列表);   Splitte...

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

  你需要用到幾個(gè)控件:

   TreeView(用于顯示顯示目錄樹);

   ListView(用于顯示文件和目錄列表);

   Splitter(用于允許用戶調(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è)為Left,再添加Splitter控件,同樣將Dock屬性設(shè)為Left。最后添加ListView控件,命名為listView,Dock屬性設(shè)為Fill。

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

  首先引用以下名字空間:

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ū)動(dòng)器

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

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

   }

}
 

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

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

}
 

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

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

}
 

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




主站蜘蛛池模板: 日本理论视频 | 天天弄天天模 | 伊人成人在线观看 | 午夜欧美 | 日本欧美国产精品第一页久久 | 婷婷六月天在线 | 欧美亚洲啪啪 | 午夜视频在线观看免费高清 | 伊人网狠狠干 | 天天看片夜夜爽 | 日本亚洲天堂 | 日本在线观看一级高清片 | 一级做a爰全过程免费视频毛片 | 日本在线观看一区二区三区 | 亚洲第一视频在线 | 一级做a爰片久久毛片毛片 一级做a爰片久久毛片看看 | 小屁孩cao大人免费网站 | 午夜岛国 | 亚洲欧美自拍视频 | 日韩色影院 | 色婷婷综合久久久久中文 | 天堂8中文在线最新版在线 天堂8中文在线bt | 欧美中文字幕在线看 | 欧美视频亚洲视频 | 亚洲专区在线播放 | 片子免费在线观看 | 亚洲日本天堂 | 五月天激情婷婷大综合 | 日本免费一区二区三区a区 日本免费一二三区 | 青娱乐综合网 | 日韩a一级欧美一级在线播放 | 日韩中文有码高清 | 天天久久狠狠色综合 | 亚洲网址在线观看 | 一级黄色a级片 | 欧美午夜成年片在线观看 | 色综合视频在线 | 一级做a爰片欧美一区 | 亚洲欧美综合一区二区三区四区 | 亚洲成aⅴ人片在线观 | 日韩中文一区 |