C# Resource Management (資源管理器)

nonamedemo發表於2007-11-16

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace prjResourceManagement
{
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
}

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{

TreeNode node = e.Node;
Object obj = node.Tag;
DirectoryInfo f = (DirectoryInfo)obj;
showInfoAtListView(f);


}
private void showInfoAtListView(DirectoryInfo di)
{
this.listView1.Items.Clear();
DirectoryInfo[] dis = di.GetDirectories();
FileInfo[] fis = di.GetFiles();
foreach (DirectoryInfo temp in dis)
{
ListViewItem lvi = new ListViewItem();
lvi.Text = temp.Name;
lvi.ImageIndex = 0;
lvi.SubItems.Add("");
lvi.SubItems.Add("資料夾");
lvi.SubItems.Add(temp.LastWriteTime.ToString());
lvi.Tag = temp;
this.listView1.Items.Add(lvi);
}
foreach (FileInfo temp in fis)
{
ListViewItem lvi = new ListViewItem();
lvi.Text = temp.Name;
lvi.SubItems.Add(temp.Length.ToString());
lvi.SubItems.Add(temp.Extension.ToString());
lvi.ImageIndex = 1;
lvi.SubItems.Add(temp.LastWriteTime.ToString());
lvi.Tag = temp;
this.listView1.Items.Add(lvi);
}

}

private void frmMain_Load(object sender, EventArgs e)
{
try
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
DialogResult dr = fbd.ShowDialog();
if (dr == DialogResult.Cancel)
{
Application.Exit();
}
String path = fbd.SelectedPath;
DirectoryInfo di = new DirectoryInfo(path);
TreeNode root = new TreeNode(di.Name);
this.treeView1.Nodes.Add(root);
root.Tag = di;
ShowAllInfo(di, root);

}
catch
{
//不做處理因為有系統檔案訪問許可權被限制
}

}
private void ShowAllInfo(DirectoryInfo di, TreeNode root)
{
DirectoryInfo[] dis = di.GetDirectories();
foreach (DirectoryInfo temp in dis)
{
TreeNode node = new TreeNode(temp.Name);
root.Nodes.Add(node);
node.Tag = di;
ShowAllInfo(temp, node);
}
}

private void listView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (this.listView1.SelectedItems.Count == 0)
{
return;
}
Object obj = this.listView1.SelectedItems[0].Tag;
try
{
DirectoryInfo di = (DirectoryInfo)obj;
showInfoAtListView(di);

}
catch
{
FileInfo fi = (FileInfo)obj;
System.Diagnostics.Process.Start(fi.FullName);

}
}

}
}

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10395457/viewspace-982868/,如需轉載,請註明出處,否則將追究法律責任。

相關文章