using System.IO; //先引用命名空间
//窗体 我是用了 treeView listView contextMenuStrip 3个控件哦
//为了 在后面代码能 完美实现 我们先创建 一个MyFile 类
public class MyFile
{
public string FileName { get; set; } //文件名
public long FileLength { get; set; } //文件长度 以KB结尾
public string FilePath { get; set; } //文件路径
public string FileType { get; set; } //文件类型
}
private void Form1_Load(object sender, EventArgs e) //窗体加载事件
{
//后面将写LodaDrives()方法加载驱动器
//添加盘符
LodaDrives();
}
public void LodaDrives()
{ // 加载驱动器
TreeNode driver = new TreeNode();
driver.Text = "F:\\";
driver.Tag = "F:\\";
this.treeView1.Nodes.Add(driver);
}
private void treeView1_AfterSelect_1(object sender, TreeViewEventArgs e)
//treeview 的AfterSelect 事件 意思就是 在更改选定内容后发生的事件
TreeNode node = this.treeView1.SelectedNode;
this.Bindinfo(node);
}
public void Bindinfo(TreeNode node)
{
//绑定 子目录
DirectoryInfo dir = new DirectoryInfo(node.Tag.ToString());
DirectoryInfo[] dirs = dir.GetDirectories();
foreach (DirectoryInfo di in dirs)
{
TreeNode tup = new TreeNode();
tup.Text = di.Name;
tup.Tag = di.FullName;
node.Nodes.Add(tup);
}
//绑定本目录的文件
FileInfo[] fileinfo = dir.GetFiles();
List<MyFile> files = new List<MyFile>();
foreach ( FileInfo myFile in fileinfo)
{
MyFile file = new MyFile();
file.FileName = myFile.Name;
file.FileLength = myFile.Length;
file.FileType = myFile.Extension;
file.FilePath = myFile.FullName;
files.Add(file);
}
//绑定 listview
ShowFiles(files);
}
public void ShowFiles(List<MyFile> files)
{
ListViewItem item = null;
listView1.Items.Clear();
foreach (MyFile file in files)
{
item = new ListViewItem();
item.Text = file.FileName;
item.SubItems.Add(file.FileLength.ToString());
item.SubItems.Add(file.FileType);
item.SubItems.Add(file.FilePath);
this.listView1.Items.Add(item);
}
}
//ListView列宽自适应
private void listView1_SizeChanged(object sender, EventArgs e)
{
int _Count = listView1.Columns.Count;
int _Width = listView1.Width;
foreach (ColumnHeader ch in listView1.Columns)
{
ch.Width = _Width / _Count;
}
}
private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.listView1.SelectedItems.Count ==0)
{
return;
}
//提示 --用户选择目标文件**-******
FolderBrowserDialog fbd = new FolderBrowserDialog();
DialogResult result = fbd.ShowDialog();
//源文件路径
string sourcePath = listView1.SelectedItems[0].SubItems[3].Text;
//目标文件路径
string desPath = null;
if (result ==DialogResult.OK)
{
desPath = fbd.SelectedPath;
//ListView1 表示显示文件信息的 ListView 对象
desPath += "\\" + listView1.SelectedItems[0].SubItems[0].Text;
//复制文件
File.Copy(sourcePath, desPath);
MessageBox.Show("复制成功");
}
}
//删除 文件
private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.listView1.SelectedItems.Count==0)
{
return;
}
//要 删除的文件
string sourecPath = listView1.SelectedItems[0].SubItems[3].Text;
DialogResult result = MessageBox.Show("确定要删除吗?",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning);
if (result ==DialogResult.OK)
{
File.Delete(sourecPath);
MessageBox.Show("删除成功!");
}
//刷新一下
this.listView1.SelectedItems[0].Remove();
}