怎样用treeview制作一个类似资源管理器但是只显示文件夹和TXT文件的东西啊
--------------------编程问答-------------------- 代码不会写啊 --------------------编程问答-------------------- 你这是要做成winform还是?winform好说 如果是webform 你那个树形目录点击到最后节点显示的是文件??这个有点难处理了 估计得用active插件。 --------------------编程问答--------------------判断一下好了 只要有.的 就让他可以选中!!!
--------------------编程问答--------------------
是winform
--------------------编程问答-------------------- 现在在网上找了段代码,弄出来的效果是只有文本的没有图片的,是“我的电脑”为根目录的,而且全部文件都显示出来了。我不是很看得懂,帮我看看要怎么改?
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 WindowsFormsApplication1
{
public partial class Form4 : Form
{
public Form4()
{
InitializeComponent();
TreeNode root = new TreeNode();
root.Text = "My computer";
root.Tag = "Root";
this.treeView1.Nodes.Add(root);
TreeNode fakeNode = new TreeNode();
root.Nodes.Add(fakeNode);
}
private void ShowDrives(TreeNode node)
{
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drive in drives)
{
TreeNode n = new TreeNode();
n.Text = drive.Name;
n.Tag = drive;
if (drive.IsReady && (drive.RootDirectory.GetDirectories().Length > 0 || drive.RootDirectory.GetFiles().Length > 0))
{
TreeNode fakeNode = new TreeNode();
n.Nodes.Add(fakeNode);
}
node.Nodes.Add(n);
}
}
private void ShowRootDirectoriesAndFiles(TreeNode node)
{
DriveInfo drive = node.Tag as DriveInfo;
if (drive != null)
{
DirectoryInfo[] directories = drive.RootDirectory.GetDirectories();
FileInfo[] files = drive.RootDirectory.GetFiles();
BindDirectoriesAndFiles(node, directories, files);
}
}
private void ShowDirectoriesAndFiles(TreeNode node)
{
DirectoryInfo directory = node.Tag as DirectoryInfo;
if (directory != null)
{
DirectoryInfo[] directories = directory.GetDirectories();
FileInfo[] files = directory.GetFiles();
BindDirectoriesAndFiles(node, directories, files);
}
}
private void BindDirectoriesAndFiles(TreeNode node, DirectoryInfo[] directories, FileInfo[] files)
{
foreach (DirectoryInfo dir in directories)
{
TreeNode n = new TreeNode();
n.Text = dir.Name;
n.Tag = dir;
try
{
if (dir.GetDirectories().Length > 0 || dir.GetFiles().Length > 0)
{
TreeNode fakeNode = new TreeNode();
n.Nodes.Add(fakeNode);
n.ImageIndex = 1;
}
}
catch
{
}
node.Nodes.Add(n);
}
foreach (FileInfo file in files)
{
TreeNode n = new TreeNode();
n.Text = file.Name;
n.Tag = file;
node.Nodes.Add(n);
}
}
private void treeView1_BeforeExpand(object sender, TreeViewCancelEventArgs e)
{
e.Node.Nodes.Clear();
DisposeNodes(e.Node);
}
private void DisposeNodes(TreeNode node)
{
switch (node.Tag.GetType().ToString().Split('.')[node.Tag.GetType().ToString().Split('.').Length - 1])
{
case "DriveInfo":
{
ShowRootDirectoriesAndFiles(node);
break;
}
case "DirectoryInfo":
{
ShowDirectoriesAndFiles(node);
break;
}
case "FileInfo":
{
FileInfo file = node.Tag as FileInfo;
TreeNode n = new TreeNode();
n.Text = file.Name;
n.Tag = file;
node.Nodes.Add(n);
break;
}
default:
{
ShowDrives(node);
break;
}
}
}
private void treeView1_AfterCollapse(object sender, TreeViewEventArgs e)
{
}
}
}
关键是看不懂啊
补充:.NET技术 , ASP.NET