using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using
namespace CH1
{
public partial class CH1_DemoForm010 : Form
{
public CH1_DemoForm010()
{
InitializeComponent();
}
private void CH1_DemoForm010_Load(object sender, EventArgs e)
{
DiskDriveComboBox.Items.AddRange(Directory.GetLogicalDrives());
}
private void DiskDriveComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
if (DiskDriveComboBox.SelectedIndex != -1)
{
try
{
string[] subdirectoryEntries = Directory.GetDirectories((string)DiskDriveComboBox.SelectedItem);
DirectoryListBox.DataSource = subdirectoryEntries;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
DirectoryListBox.DataSource = null;
txtResult.Clear();
}
}
}
private void DirectoryListBox_SelectedIndexChanged(object sender, EventArgs e)
{
if (DirectoryListBox.SelectedIndex != -1)
{
// 显示一个状态讯息对话框来表示我们目前要尝试取得所有层级的子目录。
frmStatus frmStatusMessage = new frmStatus();
frmStatusMessage.Show("尝试取得所有层级的子目录,处理中,请稍后....");
// 建立一个对应至使用者所选取之目录的 DirectoryInfo 对象。
DirectoryInfo theDir = new DirectoryInfo((string)DirectoryListBox.SelectedItem);
StringBuilder sb = new StringBuilder();
// 判断目录是否存在。
if (theDir.Exists)
{
// 显示关于该目录的基本信息。
sb.Append("此目录的完整路径是:");
sb.Append(theDir.FullName);
sb.Append(",它是 ");
sb.Append(theDir.Parent.Name);
sb.AppendLine(" 的子目录。");
sb.Append("根目录:");
sb.AppendLine(theDir.Root.Name);
sb.Append("属性:");
sb.AppendLine(theDir.Attributes.ToString());
sb.Append("建立时间:");
sb.AppendLine(theDir.CreationTime.ToString());
sb.Append("最近一次的访问时间:");
sb.AppendLine(theDir.LastAccessTime.ToString());
sb.Append("最近一次的写入时间:");
sb.AppendLine(theDir.LastWriteTime.ToString());
// 以下的程序代码会列出目录的内容。
DirectoryInfo[] entries;
sb.AppendLine("-------------------------------------------");
try
{
entries = theDir.GetDirectories("*", SearchOption.AllDirectories);
}
catch
{
sb.Append("您没有权限来列示此目录。");
txtResult.Text = sb.ToString();
return;
}
if (entries.Length > 0)
{
sb.AppendLine(theDir.FullName + " 之下的所有子目录路径名称");
sb.AppendLine("-------------------------------------------");
foreach (DirectoryInfo entry in entries)
{
sb.AppendLine(entry.FullName);
}
}
}
else
{
sb.Append("目录不存在或是您没有权限来查看它。");
}
frmStatusMessage.Close();
txtResult.Text = sb.ToString();
}
}
}
}