这篇文章主要介绍“C#文件浏览器制作方法是什么”,在日常操作中,相信很多人在C#文件浏览器制作方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”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。
界面做好了,那么怎样才能在这个界面里显示文件夹和文件呢?这需要我们添加代码来实现。
C#文件浏览器之首先引用以下名字空间:
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); } }
C#文件浏览器之创建目录树
其中,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); }
到此,关于“C#文件浏览器制作方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/dev/230744.html