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 mycomputer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
TreeNode node = this.treeView1.Nodes[0];
node.Expand(); TreeNode computer = null;
foreach (TreeNode nd in node.Nodes)
{
if (nd.Name=="computer")
{
computer = nd;
}
}
//添加我的电脑字节点
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drv in drives)
{
TreeNode root = new TreeNode(drv.Name);
root.ImageKey = "068.GIF";
root.SelectedImageKey = "068.GIF";
root.Tag = drv.RootDirectory.FullName;
computer.Nodes.Add(root);
} } private void treeView1_AfterExpand(object sender, TreeViewEventArgs e)
{ //显示其子文件
if (e.Action != TreeViewAction.Expand)
{
return;
}
foreach (TreeNode node in e.Node.Nodes)
{
if (node.Tag == null)
{
return;
}
DirectoryInfo direct = new DirectoryInfo(node.Tag.ToString());
DirectoryInfo[] th = null;
try
{
th = direct.GetDirectories();
}
catch { }
if (th != null)
{
foreach (DirectoryInfo thi in th)
{
TreeNode tth = new TreeNode(thi.Name);
tth.ImageKey = "003.GIF";
tth.SelectedImageKey = "003.GIF";
tth.Tag = thi.FullName;
node.Nodes.Add(tth);
}
}
}
} private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
//显示文件路径
if (e.Action == TreeViewAction.ByKeyboard || e.Action == TreeViewAction.ByMouse)
{
if (e.Node.Tag == null)
{
this.Tag = e.Node.Text;
}
else
{
this.Text = e.Node.Tag.ToString();
}
}
//显示文件夹到list中
this.listView1.Items.Clear();
if (e.Node.Tag != null)
{
string folderpath = e.Node.Tag.ToString();
DirectoryInfo folder = new DirectoryInfo(folderpath);
DirectoryInfo[] jia = null;
try
{
jia = folder.GetDirectories();
}
catch { }
if (jia != null)
{
foreach (DirectoryInfo wenjianjia in jia)
{
listView1.Items.Add(new ListViewItem(new string[]
{
wenjianjia.Name,
"",
wenjianjia.FullName.ToString(),
"文件夹",
}, "003.GIF"));
}
}
//显示文件到list中
FileInfo[] file = null;
try
{
file = folder.GetFiles();
}
catch (Exception) { }
if (file != null)
{
foreach (FileInfo files in file)
{
listView1.Items.Add(new ListViewItem(new string[]
{
files.Name,
GetFileSize(files),
files.DirectoryName.ToString(),
"文件"
}, "125.GIF"));
}
}
}
}
//获取文件大小
private string GetFileSize(FileInfo file)
{
string lage = "";
long fileSize = file.Length;
if (fileSize >= 1024 * 1024 * 1024)
{
lage = string.Format("{0:#######0.00}GB", ((double)fileSize / (1024 * 1024 * 1024)));
}
else if (fileSize >= 1024 * 1024)
{
lage = string.Format("{0:####0.00}MB", ((double)fileSize / (1024 * 1024)));
}
else if (fileSize >= 1024)
{
lage = string.Format("{0:###0.00}KB", ((double)fileSize / (1024 )));
}
else
{
lage = string.Format("[0]Byte", fileSize);
}
return lage;
}
//实现重命名
private void 重命名ToolStripMenuItem_Click(object sender, EventArgs e)
{ listView1.LabelEdit = true;
listView1.SelectedItems[0].BeginEdit();
}
// MessageBox.Show(listView1.Items[i].SubItems[2].Text+ @"\" + listView1.Items[i].SubItems[0].Text);
//判断是文件还是文件夹,在进行删除操作
public void sc()
{
try
{ DialogResult aa = MessageBox.Show("确定删除", "是否", MessageBoxButtons.YesNo);
if (aa == DialogResult.Yes)
{
for (int i = 0; i < listView1.Items.Count; i++)
{
if (listView1.Items[i].Selected)
{
if (listView1.Items[i].SubItems[3].Text == "文件")
{
MessageBox.Show(listView1.Items[i].SubItems[0].Text);
string name = listView1.Items[i].SubItems[2].Text + @"\" + listView1.Items[i].SubItems[0].Text;
if (File.Exists(name))
{
File.Delete(name);
}
else
{
DirectoryInfo dd = new DirectoryInfo(name);
dd.Delete();
}
}
else if (listView1.Items[i].SubItems[3].Text == "文件夹")
{
string name = listView1.Items[i].SubItems[2].Text;
if (File.Exists(name))
{
File.Delete(name);
}
else
{
DirectoryInfo dd = new DirectoryInfo(name);
dd.Delete();
}
}
this.listView1.Items.RemoveAt(i);
}
}
}
}
catch (Exception ex) { MessageBox.Show(ex.ToString()); }
} private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
sc();
} private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
{
} private void 粘贴ToolStripMenuItem_Click(object sender, EventArgs e)
{
}
}
}
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 mycomputer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
TreeNode node = this.treeView1.Nodes[0];
node.Expand(); TreeNode computer = null;
foreach (TreeNode nd in node.Nodes)
{
if (nd.Name=="computer")
{
computer = nd;
}
}
//添加我的电脑字节点
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drv in drives)
{
TreeNode root = new TreeNode(drv.Name);
root.ImageKey = "068.GIF";
root.SelectedImageKey = "068.GIF";
root.Tag = drv.RootDirectory.FullName;
computer.Nodes.Add(root);
} } private void treeView1_AfterExpand(object sender, TreeViewEventArgs e)
{ //显示其子文件
if (e.Action != TreeViewAction.Expand)
{
return;
}
foreach (TreeNode node in e.Node.Nodes)
{
if (node.Tag == null)
{
return;
}
DirectoryInfo direct = new DirectoryInfo(node.Tag.ToString());
DirectoryInfo[] th = null;
try
{
th = direct.GetDirectories();
}
catch { }
if (th != null)
{
foreach (DirectoryInfo thi in th)
{
TreeNode tth = new TreeNode(thi.Name);
tth.ImageKey = "003.GIF";
tth.SelectedImageKey = "003.GIF";
tth.Tag = thi.FullName;
node.Nodes.Add(tth);
}
}
}
} private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
//显示文件路径
if (e.Action == TreeViewAction.ByKeyboard || e.Action == TreeViewAction.ByMouse)
{
if (e.Node.Tag == null)
{
this.Tag = e.Node.Text;
}
else
{
this.Text = e.Node.Tag.ToString();
}
}
//显示文件夹到list中
this.listView1.Items.Clear();
if (e.Node.Tag != null)
{
string folderpath = e.Node.Tag.ToString();
DirectoryInfo folder = new DirectoryInfo(folderpath);
DirectoryInfo[] jia = null;
try
{
jia = folder.GetDirectories();
}
catch { }
if (jia != null)
{
foreach (DirectoryInfo wenjianjia in jia)
{
listView1.Items.Add(new ListViewItem(new string[]
{
wenjianjia.Name,
"",
wenjianjia.FullName.ToString(),
"文件夹",
}, "003.GIF"));
}
}
//显示文件到list中
FileInfo[] file = null;
try
{
file = folder.GetFiles();
}
catch (Exception) { }
if (file != null)
{
foreach (FileInfo files in file)
{
listView1.Items.Add(new ListViewItem(new string[]
{
files.Name,
GetFileSize(files),
files.DirectoryName.ToString(),
"文件"
}, "125.GIF"));
}
}
}
}
//获取文件大小
private string GetFileSize(FileInfo file)
{
string lage = "";
long fileSize = file.Length;
if (fileSize >= 1024 * 1024 * 1024)
{
lage = string.Format("{0:#######0.00}GB", ((double)fileSize / (1024 * 1024 * 1024)));
}
else if (fileSize >= 1024 * 1024)
{
lage = string.Format("{0:####0.00}MB", ((double)fileSize / (1024 * 1024)));
}
else if (fileSize >= 1024)
{
lage = string.Format("{0:###0.00}KB", ((double)fileSize / (1024 )));
}
else
{
lage = string.Format("[0]Byte", fileSize);
}
return lage;
}
//实现重命名
private void 重命名ToolStripMenuItem_Click(object sender, EventArgs e)
{ listView1.LabelEdit = true;
listView1.SelectedItems[0].BeginEdit();
}
// MessageBox.Show(listView1.Items[i].SubItems[2].Text+ @"\" + listView1.Items[i].SubItems[0].Text);
//判断是文件还是文件夹,在进行删除操作
public void sc()
{
try
{ DialogResult aa = MessageBox.Show("确定删除", "是否", MessageBoxButtons.YesNo);
if (aa == DialogResult.Yes)
{
for (int i = 0; i < listView1.Items.Count; i++)
{
if (listView1.Items[i].Selected)
{
if (listView1.Items[i].SubItems[3].Text == "文件")
{
MessageBox.Show(listView1.Items[i].SubItems[0].Text);
string name = listView1.Items[i].SubItems[2].Text + @"\" + listView1.Items[i].SubItems[0].Text;
if (File.Exists(name))
{
File.Delete(name);
}
else
{
DirectoryInfo dd = new DirectoryInfo(name);
dd.Delete();
}
}
else if (listView1.Items[i].SubItems[3].Text == "文件夹")
{
string name = listView1.Items[i].SubItems[2].Text;
if (File.Exists(name))
{
File.Delete(name);
}
else
{
DirectoryInfo dd = new DirectoryInfo(name);
dd.Delete();
}
}
this.listView1.Items.RemoveAt(i);
}
}
}
}
catch (Exception ex) { MessageBox.Show(ex.ToString()); }
} private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
sc();
} private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
{
} private void 粘贴ToolStripMenuItem_Click(object sender, EventArgs e)
{
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货