创建个窗体 窗体实现如下:
再创个MyFile类 类中写上变量
在treeView中部分添加根节点
接着添加子节点也就是目录文件:
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
TreeNode node = tvDirectory.SelectedNode;
string tag = node.Tag.ToString();
//创建目录对象
DirectoryInfo di = new DirectoryInfo(tag);
DirectoryInfo[] dirs = di.GetDirectories();
node.Nodes.Clear();
//循环绑定数据到TreeView中
foreach (DirectoryInfo d in dirs)
{
TreeNode node2 = new TreeNode();
node2.Text = d.Name;
node2.Tag = d.FullName;
node.Nodes.Add(node2);//把节点添加到当前选中的节点
}
//得到当前目录下的子文件
FileInfo[] files = di.GetFiles();
//清空原有数据
lvFile.Items.Clear();
//循环绑定数据到ListView中
foreach (FileInfo fi in files)
{
ListViewItem lvi = new ListViewItem();
lvi.Text = fi.Name;//文件名
lvi.SubItems.Add(fi.Extension.Substring(1));//类型
lvi.SubItems.Add((fi.Length / 1024.0).ToString());//大小
lvi.SubItems.Add(fi.FullName);//完整路径
lvFile.Items.Add(lvi);
}
绑定listView中的文件叙述
FileInfo[] files = di.GetFiles();
//清空原有数据
lvFile.Items.Clear();
//循环绑定数据到ListView中
foreach (FileInfo fi in files)
{
ListViewItem lvi = new ListViewItem();
lvi.Text = fi.Name;//文件名
lvi.SubItems.Add(fi.Extension.Substring(1));//类型
lvi.SubItems.Add((fi.Length / 1024.0).ToString());//大小
lvi.SubItems.Add(fi.FullName);//完整路径
lvFile.Items.Add(lvi);
实现复制和删除:
private void tsmiCopy_Click(object sender, EventArgs e)
{
if (lvFile.SelectedItems.Count > 0)
{
//浏览文件夹中的对话框
FolderBrowserDialog fbd = new FolderBrowserDialog();
DialogResult result= fbd.ShowDialog();
//判断用户是否点了确定
if (result==DialogResult.OK)
{
string path1 = lvFile.SelectedItems[0].SubItems[3].Text;
string path=fbd.SelectedPath+"//"+lvFile.SelectedItems[0].Text;//文件夹+文件名
File.Copy(path1,path,true);//复制文件
MessageBox.Show("文件复制成功");
}
}
else{
MessageBox.Show("请选择要复制的文件");
}
}
private void tsmiDelete_Click(object sender, EventArgs e)
{
if (lvFile.SelectedItems.Count > 0)
{
DialogResult result = MessageBox.Show("确定要删除嘛", "提示",
MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (result == DialogResult.OK)
{
string path = lvFile.SelectedItems[0].SubItems[3].Text;
File.Delete(path);//删除文件
MessageBox.Show("删除成功");
}
}
else {
MessageBox.Show("请选择删除的文件");
}
}