欢迎光临
我们一直在努力

c#打造自己的文件浏览器_c#应用

建站超值云服务器,限时71元/月

  C#的功能十分强大,用它可以轻松地做出属于自己的文件浏览器。下面简单地介绍一下文件浏览器的大致实现过程。其中涉及的有关这些控件的具体用法可参见C#的联机帮助。


  你需要用到几个控件:


   TreeView(用于显示显示目录树);


   ListView(用于显示文件和目录列表);


   Splitter(用于允许用户调整TreeView和ListView的大小);


   其它的如:MainMenu,ToolBar,StatusBar,ImageList等等就看你的实际需要了。


  首先,新建一个C#项目(Windows应用程序),命名为MyFileView,将窗口命名为mainForm,调整主窗口大小(Size)。添加MainMenu,ToolBar,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);


  try


  {


   subDir=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)


{


 try


 {


  foreach(TreeNode tn in e.Node .Nodes )


  {


   if (!tn.IsExpanded)


    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;


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


}
 


  至此,一个简单的文件浏览器就做成了,当然,它还很初级,甚至不能用它打开一个文件,加另外,它也不能显示文件和目录的图标,没有进行错误处理,没有进行安全控制……它能给你的只是一个思路。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » c#打造自己的文件浏览器_c#应用
分享到: 更多 (0)

相关推荐

  • 暂无文章