资源描述
NIIT-MMS1 ProjectTraining Report专业计算机科学与技术学生姓名林海洋班级B计算机103学号1010704310完成日期2012、1、2信 息 工 程 学 院一、项目概要资源管理器:实现负责管理数据库、持续消息队列或事务性文件系统中的持久性或持续性数据。二、开发环境介绍资源管理器是在Windows.NET Framework的编译环境下生成的以C#为实现语言的程序。实现资源管理器需要TreeView和ListView两个控件。三、实现方法及步骤usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO;namespace资源管理器publicpartialclassForm1:FormpublicForm1()InitializeComponent();privatevoidForm1_Load(objectsender,EventArgse)/加一个根目录TreeNoderoot1=newTreeNode(我的电脑);treeView1.Nodes.Add(root1);GetDrive();/添加磁盘名称的方法foreach(TreeNoderootintreeView1.Nodes)AddSubDir(root);/添加每个磁盘的子文件夹的方法/获取逻辑磁盘并加到TreeView中的方法/privatevoidGetDrive()/获取磁盘的盘符(通过静态Directory方法调用获取逻辑驱动器名称)stringdrives=Directory.GetLogicalDrives();/添加盘符到树中,遍历数组TreeNodenode=null;foreach(stringdriveindrives)DriveInfodif=newDriveInfo(drive);/(DriveInfo)提供对有关指定驱动器的信息的访问if(dif.DriveType=DriveType.CDRom)node=newTreeNode(drive,0,0);treeView1.Nodes.Add(node);elsenode=newTreeNode(drive,3,3);treeView1.Nodes.Add(node);/添加子文件夹的方法/privatevoidAddSubDir(TreeNodenode)/需要传过来一个节点的名称node.Nodes.Clear();/首先清空上次选中的节点stringpath=node.FullPath;/根据路径生成文件夹对象(通过实例方法DirectoryInfo来实现)DirectoryInfodirf=newDirectoryInfo(path);try/获取该文件夹的所有子文件夹DirectoryInfofolds=dirf.GetDirectories();TreeNodefoldnode=null;foreach(DirectoryInfofoldinfolds)/Attributes获取或设置当前文件或目录的特性(是否有隐藏的文件)if(!fold.Attributes.ToString().Contains(Hidden)foldnode=newTreeNode(fold.Name,2,2);node.Nodes.Add(foldnode);catch(Exception)/放到Trycatch中是为了显示异常的信息,比如没有子文件夹的G盘/给每个子文件夹添加文件的方法/privatevoidAddFile(stringPath)/需要传过来一个要添加文件的文件夹(节点)的名称listView1.Items.Clear();/根据路径生成文件夹对象(通过实例方法DirectoryInfo来实现)DirectoryInfodirf=newDirectoryInfo(Path);tryFileInfofiles=dirf.GetFiles();for(inti=0;ifiles.Length;i+)listView1.Items.Add(filesi.Name,2);listView1.Itemsi.SubItems.Add(filesi.Length.ToString();listView1.Itemsi.SubItems.Add(filesi.Extension);/获取文件的扩展名listView1.Itemsi.SubItems.Add(filesi.LastWriteTime.ToString();catch(Exception)/获取该文件夹的所有子文件privatevoidtreeView1_AfterSelect(objectsender,TreeViewEventArgse)AddFile(e.Node.FullPath);privatevoidtreeView1_AfterExpand(objectsender,TreeViewEventArgse)foreach(TreeNodenodeine.Node.Nodes)AddSubDir(node);四、程序运行结果与源代码清单五、训练小结资源管理器的设计有点复杂,不过抓住基本点,基本可以实现,加上面向对象的设计本身的优越性,这次的设计基本成功。这次设计加深了我对面向对象程序编程的理解。
展开阅读全文