读书人

winform 一层一层的打开文件夹如何打开

发布时间: 2013-10-19 20:58:23 作者: rapoo

winform 一层一层的打开文件夹怎么打开啊!打开文件
像打开我的电脑一样,一层一层打开文件夹,直到里面全是文件,还可以打开文件 winform 文件夹 打开文件
[解决办法]
ListView
TreeView
两个控件

http://bbs.csdn.net/topics/380239317
[解决办法]

引用:
/// <summary>
/// 数据加载
/// </summary>
private void LoadData()
{
try
{
treeList_File.Nodes.Clear();
string indexpagevcode = System.Environment.CurrentDirectory + "\\公司库";
TreeListNode parentNode = treeList_File.AppendNode(new string[] { "公司库", "", indexpagevcode }, 0);
GetAllDirList(indexpagevcode, parentNode);
this.treeList_File.SelectImageList = this.imageList1;
}
catch (Exception e)
{
Program.MsgBoxError(e);
}
}
/// <summary>
/// 数据绑定
/// </summary>
/// <param name="strBaseDir">地址</param>
/// <param name="parentNode">根节点</param>
void GetAllDirList(string strBaseDir, TreeListNode parentNode)
{

//Process.Start("net.exe"," use \\server\share password");
//Process.StartInfo.CreateNoWindow = true;
//Process.StartInfo.UseShellExecute = false;



DirectoryInfo di = new DirectoryInfo(strBaseDir);
DirectoryInfo[] diA = di.GetDirectories();
if (ParentID == 0)
{
FileInfo[] fis2 = di.GetFiles(); //有关目录下的文件
for (int i2 = 0; i2 < fis2.Length; i2++)
{
treeList_File.AppendNode(new string[] { fis2[i2].Name, ((System.IO.FileSystemInfo)(fis2[i2])).LastWriteTime.ToString(), fis2[i2].FullName }, parentNode.Id, 2, 2, 2);
}
}
for (int i = 0; i < diA.Length; i++)
{
ParentID++;
TreeListNode parentNode2 = treeList_File.AppendNode(new string[] { diA[i].Name, ((System.IO.FileSystemInfo)(diA[i])).LastWriteTime.ToString(), diA[i].FullName }, parentNode);



DirectoryInfo di1 = new DirectoryInfo(diA[i].FullName);
DirectoryInfo[] diA1 = di1.GetDirectories();
FileInfo[] fis1 = di1.GetFiles(); //有关目录下的文件
for (int ii = 0; ii < fis1.Length; ii++)
{
treeList_File.AppendNode(new string[] { fis1[ii].Name, ((System.IO.FileSystemInfo)(fis1[ii])).LastWriteTime.ToString(), fis1[ii].FullName }, parentNode2.Id, 2, 2, 2);
}
GetAllDirList(diA[i].FullName, parentNode2);
//注意:递归了。逻辑思维正常的人应该能反应过来

}
}


+1遍历也可以,遍历文件夹

读书人网 >C#

热点推荐