文件目录查看工具

实现代码:

using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WindowsFormsApp20140821
{
    public partial class FileSystem : Form
    {
        public FileSystem()
        {
            InitializeComponent();
            this.txtDirectoryInfo.Text = "F:\\";
        }

        private void BtnGet_Click(object sender, EventArgs e)
        {
            ClearAll();
            string folderName = this.txtDirectoryInfo.Text;
            this.txtCurrentDirectoryInfo.Text = folderName;
            try
            {
                DirectoryInfo folder = new DirectoryInfo(folderName);
                if(folder.Exists)
                {
                    GetDirectoryInfo(folderName);
                }

                FileInfo fileInfo = new FileInfo(folderName);
                if(fileInfo.Exists)
                {
                    GetFileInfo(folderName);
                }
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message, "Message");
            }
        }

        private void GetFileInfo(string fileName)
        {
            FileInfo fileInfo = new FileInfo(fileName);
            if(fileInfo.Exists)
            {
                this.txtCreationTime.Text = fileInfo.CreationTime.ToLongDateString() + " "
                    + fileInfo.CreationTime.ToLongTimeString();
                this.txtFileSize.Text = fileInfo.Length.ToString() + " bytes";
                this.txtLastAccessTime.Text = fileInfo.LastAccessTime.ToLongDateString();
                this.txtLastWriteTime.Text = fileInfo.LastWriteTime.ToLongDateString();
            }
        }

        private void GetDirectoryInfo(string folderName)
        {
            DirectoryInfo folder = new DirectoryInfo(folderName);
            if(folder.Exists)
            {
                this.listBoxDirectoryInfos.Items.Clear();
                foreach (DirectoryInfo info in folder.GetDirectories())
                {
                    this.listBoxDirectoryInfos.Items.Add(info.Name);
                }
                this.listBoxFileInfos.Items.Clear();
                foreach(FileInfo info in folder.GetFiles())
                {
                    this.listBoxFileInfos.Items.Add(info.Name);
                }
            }
        }
        private void ClearAll()
        {
            this.txtCreationTime.Text = "";
            this.txtFileSize.Text = "";
            this.txtLastAccessTime.Text = "";
            this.txtLastWriteTime.Text = "";
        }

        private void btnPrevious_Click(object sender, EventArgs e)
        {
            ClearAll();
            string currentFolderName = this.txtCurrentDirectoryInfo.Text;
            DirectoryInfo folder = new DirectoryInfo(currentFolderName);
            if (folder.Parent == null)
            {
                return;
            }
            currentFolderName = folder.Parent.FullName;
            this.txtCurrentDirectoryInfo.Text = currentFolderName;
            if (folder.Exists)
            {
                GetDirectoryInfo(currentFolderName);
            }
        }

        private void listBoxDirectoryInfos_MouseClick(object sender, MouseEventArgs e)
        {
            int index = listBoxDirectoryInfos.IndexFromPoint(e.X, e.Y);
            if (index != -1)
            {
                ClearAll();
                string fileName = this.listBoxDirectoryInfos.SelectedItem.ToString();
                string folderName = Path.Combine(this.txtCurrentDirectoryInfo.Text, fileName);
                this.txtCurrentDirectoryInfo.Text = folderName;
                DirectoryInfo info = new DirectoryInfo(folderName);
                if(info.Exists)
                {
                    GetDirectoryInfo(folderName);
                }
                FileInfo fileInfo = new FileInfo(folderName);
                if (fileInfo.Exists)
                {
                    GetFileInfo(folderName);
                }
            }
        }

        private void listBoxFileInfos_MouseClick(object sender, MouseEventArgs e)
        {
            int index = listBoxFileInfos.IndexFromPoint(e.X, e.Y);
            if (index != -1)
            {
                ClearAll();
                string fileName = this.listBoxFileInfos.SelectedItem.ToString();
                string folderName = Path.Combine(this.txtCurrentDirectoryInfo.Text, fileName);

                FileInfo fileInfo = new FileInfo(folderName);
                if (fileInfo.Exists)
                {
                    GetFileInfo(folderName);
                }
            }
        }

        private void txtDirectoryInfo_MouseClick(object sender, MouseEventArgs e)
        {
            FolderBrowserDialog dialog = new FolderBrowserDialog();
            dialog.ShowDialog();
            this.txtDirectoryInfo.Text = dialog.SelectedPath;
            BtnGet_Click(this, new EventArgs());
        }

        private void txtDirectoryInfo_TextChanged(object sender, EventArgs e)
        {
            this.txtCurrentDirectoryInfo.Text = this.txtDirectoryInfo.Text;
        }
    }
}

实现效果:

时间: 2024-08-03 20:25:24

文件目录查看工具的相关文章

【工具】系统性能查看工具 dstat

今天学习到一款系统性能查看工具 dstat  获取方式: 1 yum install -y dstat 2 wget http://packages.sw.be/dstat/dstat-0.7.2-1.el5.rfx.noarch.rpm   rpm -ivh  dstat-0.7.2-1.el5.rfx.noarch.rpm Dstat的使用: 安装完成后,执行 dstat 命令,默认情况它会收集-cpu-.-disk-.-net-.-paging-.-system-的数据,一秒钟收集一次. 

漏洞-关于星号密码查看工具的几个问题

问题描述 关于星号密码查看工具的几个问题 接触到一款叫bullet的查看星号密码的工具,可以记录下在密码输入框里输入过的密码信息并转换为明文查看, 找了几个需要登陆的网页和软件做了一些实验,有些成功了,捕捉到而且记录了星号密码是什么,有些想qq这种可以捕捉到有输入密码的行为,但是看不出密码是什么,有些根本捕捉不到. 所以非常想问一问为什么会有不同,不同之处在哪里.这种密码框输入后的传输的机制是什么.这种星号密码查看器又是根据什么漏洞来实现这种功能的呢? 解决方案 密码框是一个Windows的一个

本地密码查看工具LaZagne中的自定义脚本开发

本文讲的是本地密码查看工具LaZagne中的自定义脚本开发,LaZagne是一款用于检索大量存储在本地计算机密码的开源应用程序. 因为每个软件储存密码的方式不尽相同(明文.API.定制算法.数据库等),所以该工具使用多种方法获取软件密码,目前支持的软件如下图 该工具通过python开发,易读.易维护,所以本文就尝试对其扩展,编写python脚本实现对360极速浏览器的密码导出,并且介绍脚本开发过程的细节. 0x01 简介 本文将要介绍以下内容: · 解决LaZagne中的bug · 开发脚本导出

c++有没有内存分配查看工具啊

问题描述 c++有没有内存分配查看工具啊 有没有一个工具可以查看c++对象内存分配情况呢?至少可以得到有哪些对象,分别是分配在堆上还是栈上等信息? 解决方案 根本不用看,我说了,这是固定的.局部变量在堆栈上,动态分配的在堆上. 解决方案二: 有内存泄露检测工具...... 解决方案三: 主要是从语法上来理解,直接查看的工具没有,一般也就是nm readelf等分析.

SQLSERVER图片查看工具SQL Image Viewer5.5.0.156

原文:SQLSERVER图片查看工具SQL Image Viewer5.5.0.156 SQLSERVER图片查看工具SQL Image Viewer5.5.0.156 在2013年某一次北京SQL PASS会议中,格瑞趋势的王中涛大侠就介绍了一款数据库图片查看工具 不知道大家有没有印象 不过这篇文章介绍的插件不是集成到SSMS当中的 这个工具的下载地址:http://www.kuaipan.cn/file/id_4401224786927352.htm 大家也可以到官网去下载:http://w

使用yum查看工具lspci所在包并安装的方法(详解)_Linux

摘要:虚拟机安装时一般都采用最小化安装,默认没有lspci工具.一台测试虚拟网卡性能的虚拟机,需要lspci工具来查看网卡的类型.本文描述了在一个虚拟机中安装lspci工具的具体步骤. 由于要测试虚拟机上的不同的虚拟网卡驱动类型的传输效率,所以需要变化虚拟机的虚拟网卡类型,并且利用lspci工具验证是否加载成功. 虚拟机操作系统:CentOS6.0 i386. 启动虚拟机后,键入lspci,系统提示没有这个命令.于是想到先安装这个工具再测试.安装过程需要解决几个问题:安装源?lspci属于哪个包

AWeather 0.7发布 气象数据实时查看工具

AWeather是一个气象数据实时查看工具,适用于气象爱好者.它不是一个显示http://www.aliyun.com/zixun/aggregation/32255.html">天气预报的工具,其设计是合并各种气象数据为一个简单的统一界面,当前版本只显示由美国国家气象局提供的数据. AWeather 0.7该版本增加了Linux下使用GPSD跟踪GPS的支持,切换按钮也增加了县为主和风暴警报显示,并自动保存窗口的大小和位置. 软件信息:http://lug.rose-hulman.edu

most一个支持彩色的文本查看工具

1.安装most, most和less类似,是一个文本查看工具,不过它支持彩色. 代码: sudo aptitude install most 2. 配置 most 代码: cat > ~/.mostrc << "EOF"% Color settings color normal lightgray blackcolor status yellow bluecolor underline yellow blackcolor overstrike brightblue

Windows2000秘密武器之文件版本查看工具

在windows2000专业版的支持工具中,有不少是属于查询信息的工具.Filever.exe就是其中的一个,这是一个基于命令行的.用于查看文件版本的工具.它可查看的范围包括本地计算机和远程计算机.可以查看单个文件也可查看目录结构信息.主要可查看的文件种类是可执行文件(.EXE)和动态连接库文件(.DLL). 使用的详细语法: 命令 参数 驱动器 路径 文件名称 filever [/s] [/v] [/e] [/x] [/b] [/a] [/d] [[drive:] [path] [filena