C#本人菜鸟,想在窗体中放一个treeview,然后在这个中添加链接,链接到文件夹,然后将文件显示在listview中
这是我试验的一个简单的程序,因为读出内容一般是文本什么的,做了点过滤,listview里只显示了txt,和word文件,当然你可以改,你要过滤的文件,希望可以帮到你
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//加载驱动器目录
public void loadtVDirectory()
{
DriveInfo[] di = DriveInfo.GetDrives();
foreach(DriveInfo driver in di)
{
TreeNode tnode = new TreeNode(driver.Name);
if(driver.IsReady)
{
tnode.ToolTipText = driver.TotalSize.ToString();
tVDirectorys.Nodes.Add(tnode); //左侧treeview 控件添加借点
loadDirectory(Path.GetFullPath(tnode.Text),tnode);
}
}
}
// 加载指定目录下的文件目录
public void loadDirectory(string path,TreeNode tNode)
{
string[] directorys = Directory.GetDirectories(path); //获取选中treeview节点的子目录
foreach (string item in directorys)
{
if ((File.GetAttributes(item) & FileAttributes.Hidden)!= FileAttributes.Hidden)
{
TreeNode tnode = new TreeNode(Path.GetFileName(item));
//tNode.Nodes.Add(tnode);
tnode.Name = item;
tnode.ToolTipText = "文件夹" + item;
tNode.Nodes.Add(tnode); //选中节点添加子节点
}
}
}
//加载指定目录下的文本文件和word文档
public void loadlVFile(string path)
{
if (path.Contains("System Volume Information"))
{
return;
}
string[] files = Directory.GetFiles(path);
lVFile.Clear();
foreach (string item in files)
{
string eName = Path.GetExtension(item);
if(eName==".txt"||eName==".doc") //这里我只在listview里面显示文本和word文件
{
lVFile.Items.Add(item);
}
}
lVFile.View = View.List; //设置listview的现实形式
}
//激活选择的文件时,将内容加载到rTBShowFile中
private void lVFile_ItemActivate(object sender, EventArgs e) //点击Listview中得项目,显示内容
{
if (lVFile.SelectedItems.Count > 0)
{
. LoadFile(lVFile.SelectedItems[0].Text,RichTextBoxStreamType.PlainText);
this.Text = Path.GetFileName(lVFile.SelectedItems[0].Text);
}
}
private void Form1_Load(object sender, EventArgs e)
{
loadtVDirectory();
}
private void tVDirectorys_AfterExpand(object sender, TreeViewEventArgs e)
{
foreach(TreeNode tnode in e.Node.Nodes)
{
tnode.Nodes.Clear();
loadDirectory(tnode.Name,tnode);
}
}
private void tVDirectorys_AfterSelect(object sender, TreeViewEventArgs e)
{
loadlVFile(e.Node.FullPath);
}
}
using System.IO;
class ListAllFilesDemo
{
public static void Main()
{
Console.Write( "请输入要查询的目录: ");
string dir = Console.ReadLine();
try
{
ListFiles(new DirectoryInfo(dir));
}
catch(IOException e)
{
Console.WriteLine(e.Message);
}
}
public static void ListFiles(FileSystemInfo info)
{
if(!info.Exists) return;
DirectoryInfo dir = info as DirectoryInfo;
//不是目录
if(dir == null) return;
FileSystemInfo [] files = dir.GetFileSystemInfos();
for(int i = 0; i < files.Length; i++)
{
FileInfo file = files[i] as FileInfo;
//是文件
if(file != null)
Console.WriteLine(file.FullName + "\t " + file.Length);
//对于子目录,进行递归调用
else
ListFiles(files[i]);
}
}
}
怎么添加具体内容.就靠你自己了..顶多就给你写到这种地步了撒..