任意选择一个文件夹,在TreeView控件中显示树型目录,我现在的问题是只能显示一层目录,怎样才能显示多层目录,直到子节点为一个文件.
解决方案 »
- 一个简单的算法(Winform)
- 怎么判断是否已经运行过本程序
- 100分求 socket服务器端占用CPU100% 高手帮忙~~~~!
- C# 串口通讯 发送的数据与接收到的不同
- C#如何实现ftp上传
- 请问怎么把word文件上传到oracle的blob类型中啊
- 我在页面放了个Repeater控件,里面有个Label,,如何在Page_Load里面引用这个Label
- 怎样保持窗体的最大化
- Help!关于numericUpDown的问题,各位请帮忙!
- 从数据库读出来的照片为byte[],怎么把它转换成Image
- 如何用C#编写程序去修改一个目录或一个文件的安全权限
- 如何在dataGrid插入行?急!在线等,有正确答案就揭贴!
{
string strPath = nod.FullPath;
string strFile;
foreach (int strFile in Directory.GetFiles(strPath)) {
nod.Nodes.Add(Path.GetFileName(strFile)).Tag = 2;
}
}
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
private void AddFolders(TreeNode nod)
{
string strPath = nod.FullPath;
string strDir;
foreach (int strDir in Directory.GetDirectories(strPath)) {
nod.Nodes.Add(Path.GetFileName(strDir)).Tag = 1;
nod.Nodes.Add(Path.GetFileName(strDir)).Nodes.Add("text");
}
}
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''private void TreeView1_BeforeExpand1(object sender, System.Windows.Forms.TreeViewCancelEventArgs e)
{
e.Node.Nodes.Clear();
AddFolders(e.Node);
}
''''''''''''''''''''''''''''''''''''''''''''''
private void TreeView1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
{
DirPath = e.Node.FullPath;
ListViewFresh();
}
''''''''''''''''''''''''''''''''''''''''''''''''
public void LoadTreeView() //把它写在FormLoad里 shlpath是总目录路径
{
TreeView1.Nodes.Clear();
TreeView1.Nodes.Add(ShlPath).Nodes.Add("Test");
}
{
DirPath = e.Node.FullPath;
ListViewFresh();
}
这个应该在这里用不到
System.IO.DirectoryInfo tmp = new System.IO.DirectoryInfo(path);
string[] files = tmp.GetFiles();
//..... string[] dirs = tmp.GetDirectories();//得到所有子文件夹的名称
foreach(string tmp in dirs)
{
//遍历子文件夹
string[] childDirs = System.IO.Directory.GetFiles(tmp);
//......
}
{
string path ="E:/temp";
ShowDirectories(path,this.TreeView1.Nodes);
}
private void ShowDirectories(string dirPath,Microsoft.Web.UI.WebControls.TreeNodeCollection nodes)
{
TreeNode newNode = new TreeNode();
newNode.Text = dirPath;
newNode.ImageUrl = "Images\\folder1.gif";
nodes.Add(newNode); string[] childDirs = System.IO.Directory.GetDirectories(dirPath);
if(childDirs.Length>0)
foreach(string childDir in childDirs)
ShowDirectories(childDir,newNode.Nodes); string[] files = System.IO.Directory.GetFiles(dirPath);
if(files.Length>0)
foreach(string file in files)
{
TreeNode fileNode = new TreeNode();
fileNode.Text = file;
fileNode.ImageUrl = "Images\\file.jpg";
newNode.Nodes.Add(fileNode);
}
}
请问怎么解决?
欢迎大家在此讨论关于.net的各种技术。1号群