文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C#文件浏览器制作方法是什么

2023-06-17 22:56

关注

这篇文章主要介绍“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#文件浏览器制作方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯