一个超简单的文件浏览器源码.
using System;
using System.IO;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
string ParentPath = "..";
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
foreach (string MachineDriver in Environment.GetLogicalDrives())
driver.Items.Add(MachineDriver.ToString());
if (driver.Items.Count > 0)
driver.SelectedIndex = 0;
}
private void ChangeDirectory(DirectoryInfo CurrentDirectory)
{
directory.Items.Clear();
file.Items.Clear();
directory.Items.Add((object)ParentPath);
path.Text = CurrentDirectory.FullName;
path.Text = path.Text.EndsWith("\\") ? path.Text : string.Concat(path.Text, "\\");
try
{
foreach (DirectoryInfo DirectoryName in CurrentDirectory.GetDirectories())
{
directory.Items.Add((object)DirectoryName.Name);
}
foreach (FileInfo FileName in CurrentDirectory.GetFiles())
{
file.Items.Add((object)FileName.Name);
}
}
catch (IOException e)
{
MessageBox.Show(e.Message);
}
}
private void directory_DoubleClick(object sender, EventArgs e)
{
if (directory.SelectedIndex == 0 && !string.Equals(new DirectoryInfo(path.Text).Root.Name,path.Text))
{
ChangeDirectory(new DirectoryInfo(path.Text).Parent);
return;
}
if (directory.Items.Count !=1)
{
string CurrentPath = path.Text + directory.Items[directory.SelectedIndex].ToString();
ChangeDirectory(new DirectoryInfo(CurrentPath));
}
}
private void driver_SelectedIndexChanged(object sender, EventArgs e)
{
ChangeDirectory(new DirectoryInfo(driver.Items[driver.SelectedIndex].ToString()));
}
}
}