再谈后兵 FileInfo 与 DirectoryInfo类 清晰的winform界面(技术改变世界-cnblog)
2012-01-16 16:27
751 查看
前篇写了 File类与Directory类,今天写 他的 实例类,嘿嘿
先上张图:
View Code
先上张图:
View Code
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace FileInfoAndDirectoryInfo { public partial class File_Directroy_Info : Form { public File_Directroy_Info() { InitializeComponent(); } private void File_Directroy_Info_Load(object sender, EventArgs e) { //textBox未输入 Button不可用 btnShowInfo.Enabled = false; btnNewF.Enabled = false; btnShowInfo2.Enabled = false; btnNewD.Enabled = false; btnSelectD.Enabled = false; btnSelectD.Enabled = false; btnSelectF.Enabled = false; btnSelectAll.Enabled = false; } //TextBox1 事件 private void txtPathFile_TextChanged(object sender, EventArgs e) { btnNewF.Enabled = true; btnShowInfo.Enabled = true; } //TextBox2 事件 private void txtDirectory_TextChanged(object sender, EventArgs e) { btnShowInfo2.Enabled = true; btnNewD.Enabled = true; } //TextBox3 事件 private void txtSelect_TextChanged(object sender, EventArgs e) { btnSelectD.Enabled = true; btnSelectF.Enabled = true; btnSelectAll.Enabled = true; } //新建文件 事件 private void btnNewFile(object sender, EventArgs e) { lbShowInfo1.Items.Clear(); if (txtPathFile.Text == string.Empty) { MessageBox.Show("不能为空"); return; } else { FileInfo file = new FileInfo(txtPathFile.Text); if (file.Exists) { MessageBox.Show("文件名存在!"); return; } else { file.Create(); lbShowInfo1.Items.Add(string.Format("提示:{0}已创建",txtPathFile.Text)); } } } //显示文件详细信息 事件 private void btnShowInfo_Click(object sender, EventArgs e) { lbShowInfo1.Items.Clear(); if (txtPathFile.Text == string.Empty) { MessageBox.Show("文件为空!"); return; } else { FileInfo file=new FileInfo(txtPathFile.Text); if (!file.Exists) { DialogResult result=MessageBox.Show("文件不存在,是否创建该文件","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning); if (result == DialogResult.OK) { file.Create(); lbShowInfo1.Items.Add(string.Format("提示:{0}已创建", txtPathFile.Text)); ShowInfo(txtPathFile.Text, lbShowInfo1); } else { return; } } else { ShowInfo(txtPathFile.Text, lbShowInfo1); } } } //定义文件信息显示方法 private void ShowInfo(string filename,ListBox lb) { FileInfo file = new FileInfo(filename); string creatTime = "创建时间:"+file.CreationTime.ToString() ; string directory = "父目录:"+file.Directory.ToString(); string exist = (file.Exists) ? "文件: 存在" : "文件: 不存在"; string extension = "扩展名:"+file.Extension; string length = "字节:"+file.Length.ToString(); string isonlyread = (file.IsReadOnly) ? "文件:只读" : "文件:读写"; string name = "文件名:" + file.Name; string[] strs = { creatTime,directory,exist,extension,length,isonlyread,name}; foreach (var n in strs) { lb.Items.Add(n); } } //新建目录 事件 private void btnNewD_Click(object sender, EventArgs e) { lbShowInfo2.Items.Clear(); if (txtDirectory.Text == string.Empty) { MessageBox.Show("目录为空!"); return; } else { DirectoryInfo directory = new DirectoryInfo(txtDirectory.Text); if (directory.Exists) { MessageBox.Show("目录名存在!"); return; } else { directory.Create(); lbShowInfo2.Items.Add("提示: 目录已创建"); } } } private void btnShowInfo2_Click(object sender, EventArgs e) { lbShowInfo2.Items.Clear(); if (txtDirectory.Text == string.Empty) { MessageBox.Show("目录为空!"); return; } else { DirectoryInfo directory = new DirectoryInfo(txtDirectory.Text); if (!directory.Exists) { DialogResult result = MessageBox.Show("查询的目录不存在,是否新建该目录", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (result == DialogResult.OK) { directory.Create(); lbShowInfo2.Items.Add("提示:目录已创建"); ShowInfo2(txtDirectory.Text, lbShowInfo2); } else { return; } } else { ShowInfo2(txtDirectory.Text, lbShowInfo2); } } } //显示信息的方法 private void ShowInfo2(string directory, ListBox lb) { DirectoryInfo dir=new DirectoryInfo(directory); string creatTime = "创建时间:"+dir.CreationTime.ToString(); string exists=(dir.Exists)? "文件:存在" :"文件不存在"; string length = "父目录:" + dir.Parent.ToString(); string root = "根路径:" + dir.Root.ToString(); string[] strs = { creatTime,exists,length,root}; foreach(var n in strs) { lb.Items.Add(n); } Directory.GetDirectories(directory); dir.GetDirectories(); } private void btnSelect_Click(object sender, EventArgs e) { lbShowInfo2.Items.Clear(); DirectoryInfo dir = new DirectoryInfo(txtDirectory.Text); DirectoryInfo[] dirs=dir.GetDirectories(txtSelect.Text); foreach (var n in dirs) { lbShowInfo2.Items.Add(n); } } private void btnSecletF_Click(object sender, EventArgs e) { lbShowInfo2.Items.Clear(); DirectoryInfo dir = new DirectoryInfo(txtDirectory.Text); FileInfo[] files = dir.GetFiles(txtSelect.Text); foreach(var n in files) { lbShowInfo2.Items.Add(n); } } private void btnSelectAll_Click(object sender, EventArgs e) { lbShowInfo2.Items.Clear(); DirectoryInfo dir = new DirectoryInfo(txtDirectory.Text); FileSystemInfo[] systeminfos = dir.GetFileSystemInfos(txtSelect.Text); foreach (var n in systeminfos) { lbShowInfo2.Items.Add(n); } } } }
相关文章推荐
- 若对File与Directory类陌生-我们一起学习 Winform界面(技术改变世界-cnblog)
- 数据流的所有类 ---Winform界面 (技术改变世界-cnblog)
- winform设计一个登录界面和修改密码的界面-自动切换窗体(问题[已解] 望一起讨论)(技术改变世界-cnblog)
- winform设计一个登录界面和修改密码的界面-自动切换窗体(问题[已解] 望一起讨论)(技术改变世界-cnblog)
- WinForm小程序(技术改变世界-cnblog)
- C# WinForm小程序(技术改变世界-cnblog)
- C# WINFORM 局域网PING 工具(技术改变世界-cnblog)
- WINFORM 局域网PING 工具(技术改变世界-cnblog)
- Button按钮实现 向左或向右 缩进字符并显示在首部(尾部)(技术改变世界-cnblog)
- 以一个 山寨 资源管理器 结束 file类与Directory类 (技术改变世界-cnblog)
- [转]技术往事:改变世界的TCP/IP协议
- 《技术人创业攻略》-用技术改变世界!
- “让技术改变世界”,更要用技术打造中国的国际化!-写过园子里面一些类似Nbear的团队和一切承认自己是中国人的人!~ (转)
- 《移动浪潮》:移动智能技术如何改变世界
- 在Winform框架界面中改变并存储界面皮肤样式
- 韩国企划财政部部长:区块链技术可以“改变世界”
- C#利用反射技术实现winform界面动态存储
- 关于2018年 九大改变世界的技术趋势
- 铝电池是改变世界的技术
- 2013 eoe移动开发者大会,技术改变世界 会后感