C#编写一个简易的文件管理器
编写一个简易的文件管理器,通过本次实验,练习 TreeView、ListView 和SplitContainer 控件的使用,同时熟悉 C#文件系统的操作方法以及 File 类和 Directory类的使用。
(1)新建 windows 应用程序。
(2)将窗体 Form 的 Text 属性设置为“简易的文件管理器”。
(3)窗体上添加 SplitContainer、TreeView、ListView 控件,设置属性。将 TreeView 控
件的 Dock 属性设置为 Left,ListView 控件的 Dock 属性设置为 Fill,MultiSelect 属性设置为False,View 属性设置为 List。
(4)在 Form1.cs 中,添加对命名空间 using System.IO 的引用。
代码:
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using System.IO;
- namespace Lab08_1
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- TreeNode myComputerNode = new TreeNode("我的电脑");
- treeView1.Nodes.Add(myComputerNode);
- listViewShow(myComputerNode);
- }
- private void splitContainer1_Panel2_Paint(object sender, PaintEventArgs e)
- {
- }
- private void listViewShow(TreeNode dirNode)
- {
- listView1.Clear();
- if (dirNode.Parent == null)
- {
- foreach (string DrvName in Directory.GetLogicalDrives())
- {
- ListViewItem aItem = new ListViewItem(DrvName);
- listView1.Items.Add(aItem);
- }
- }
- else
- {
- foreach (string DirName in Directory.GetDirectories((string)dirNode.Tag))
- {
- ListViewItem aItem = new ListViewItem(DirName);
- listView1.Items.Add(aItem);
- }
- foreach (string fileName in Directory.GetFiles((string)dirNode.Tag))
- {
- ListViewItem aItem = new ListViewItem(fileName);
- listView1.Items.Add(aItem);
- }
- }
- }
- private void listViewShow(string dirName)
- {
- listView1.Clear();
- try
- {
- foreach (string DirName in Directory.GetDirectories(dirName))
- {
- ListViewItem aItem = new ListViewItem(DirName);
- listView1.Items.Add(aItem);
- }
- foreach (string fileName in Directory.GetFiles(dirName))
- {
- ListViewItem aItem = new ListViewItem(fileName);
- listView1.Items.Add(aItem);
- }
- }
- catch
- {
- }
- }
- private void DirTreeShow(TreeNode dirNode)
- {
- try
- {
- if (dirNode.Nodes.Count == 0)
- {
- if (dirNode.Parent == null)
- {
- foreach (string DrvName in Directory.GetLogicalDrives())
- {
- TreeNode aNode= new TreeNode(DrvName);
- aNode.Tag=DrvName;
- dirNode.Nodes.Add(aNode);
- }
- }
- }
- else
- {
- foreach(string DirName in Directory.GetDirectories((string)dirNode.Tag))
- {
- TreeNode aNode=new TreeNode(DirName);
- aNode.Tag=DirName;
- dirNode.Nodes.Add(aNode);
- }
- }
- }
- catch
- {
- }
- }
- private void treeView1_AfterSelect_1(object sender, TreeViewEventArgs e)
- {
- listViewShow(e.Node);
- DirTreeShow(e.Node);
- }
- private void listView1_DoubleClick_1(object sender, EventArgs e)
- {
- foreach (int listIndex in listView1.SelectedIndices)
- {
- listViewShow(listView1.Items[listIndex].Text);
- }
- }
- }
- }
页面演示:
C#编写一个简易的文件管理器的更多相关文章
- 基于OpenGL编写一个简易的2D渲染框架-06 编写一个粒子系统
在这篇文章中,我将详细说明如何编写一个简易的粒子系统. 粒子系统可以模拟许多效果,下图便是这次的粒子系统的显示效果.为了方便演示,就弄成了一个动图. 图中,同时显示了 7 种不同粒子效果,看上去效果挺 ...
- 用Java语言编写一个简易画板
讲了三篇概博客的概念,今天,我们来一点实际的东西.我们来探讨一下如何用Java语言,编写一块简易的画图板. 一.需求分析 无论我们使用什么语言,去编写一个什么样的项目,我们的第一步,总是去分析这个项目 ...
- 基于OpenGL编写一个简易的2D渲染框架-03 渲染基本几何图形
阅读文章前需要了解的知识,你好,三角形:https://learnopengl-cn.github.io/01%20Getting%20started/04%20Hello%20Triangle/ 要 ...
- 基于OpenGL编写一个简易的2D渲染框架-01 创建窗口
最近正在学习OpenGL,我认为学习的最快方法就是做一个小项目了. 如果对OpenGL感兴趣的话,这里推荐一个很好的学习网站 https://learnopengl-cn.github.io/ 我用的 ...
- 使用KVM的API编写一个简易的AArch64虚拟机
参考资料: Linux虚拟化KVM-Qemu分析(一) Linux虚拟化KVM-Qemu分析(二)之ARMv8虚拟化 Linux虚拟化KVM-Qemu分析(三)之KVM源码(1) Linux虚拟化KV ...
- python 正则的使用 —— 编写一个简易的计算器
在 Alex 的博客上看到的对正则这一章节作业是编写一个计算器,要求能计算出下面的算式. 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 + ...
- day-1 用python编写一个简易的FTP服务器
从某宝上购买了一份<Python神经网络深度学习>课程,按照视频教程,用python语言,写了一个简易的FTP服务端和客户端程序,以前也用C++写过聊天程序,编程思路差不多,但是pytho ...
- Python Django 编写一个简易的后台管理工具4-添加admin模版
导入admin后台模版 可以在网上任意搜索模版,我这里也提供一个地址github 拷贝admin后台的html文件至项目的templates文件夹 创建static文件夹,将admin后台的js,im ...
- 基于OpenGL编写一个简易的2D渲染框架-08 重构渲染器-整体架构
事实上,前面编写的渲染器 Renderer 非常简陋,虽然能够进行一些简单的渲染,但是它并不能满足我们的要求. 当渲染粒子系统时,需要开启混合模式,但渲染其他顶点时却不需要开启混合模式.所以同时渲染粒 ...
随机推荐
- Python脚本生成可执行文件&(恋爱小脚本)
Python脚本生成可执行文件&(恋爱小脚本) 参考文献: http://c.biancheng.net/view/2690.html; https://blog.csdn.net/qq_39 ...
- JZ-036-两个链表的第一个公共结点
两个链表的第一个公共结点 题目描述 输入两个链表,找出它们的第一个公共结点.(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) 题目链接: 两个链表的第一个公共 ...
- php 23种设计模型 - 享元模式
享元模式 享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能.这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式. ...
- Centos8 Yum 安装Nginx指定版本
查看系统和EPEL的nginx版本 dnf info nginx 通过官方 yum 源安装nginx vi /etc/yum.repos.d/nginx.repo 列出所有版本 ...
- ArcScene数据与Sketchup数据的交互
博主给大家介绍一下ArcScene数据与Sketchup数据的交互. 应用软件:ArcGIS10.2.Sketchup.Photoshop (1)利用Google earth影像采集小区主要建筑物.可 ...
- 微信小程序刚注册快速达到1000uv
一.什么是微信小程序uv UV:是累计独立访问,1个微信号就是一个uv,多次访问不算 大家想提升微信小程序uv都是为了开通流量主 二.流量主开通标准 达到1000uv就可以开通:严重违纪不 ...
- CentOS7.5环境下安装配置GitLab
1. 安装依赖软件 yum -y install policycoreutils openssh-server openssh-clients postfix 2.设置postfix开机自启,并启动, ...
- 如何使用Java AWT 创建一个简易计算器
摘要:手把手教你使用 Java AWT 创建一个简易计算器. 本文分享自华为云社区<手把手教你使用 Java AWT 创建一个简易计算器>,作者:海拥 . 关于AWT AWT (抽象窗口工 ...
- JVM知识梳理
JDK 是什么? JDK 是用于支持 Java 程序开发的最小环境. Java 程序设计语言 Java 虚拟机 Java API类库 JRE 是什么? JRE 是支持 Java 程序运行的标准环境. ...
- Eclipse阿里云镜像源配置
镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 一.什么是Eclipse Eclipse 是一个开放源代码的.基于 Java 的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过 ...