怎么用treeview实现选择本地硬盘每个盘子路径的功能 你如果要保持文件同步可以看看FileSystemWatcher组件,他因该能满足你的要求 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 VB。NET中的treeview可以实现这个功能,难道C#里就不行吗? private System.Windows.Forms.ImageList fileIconList; private System.Windows.Forms.TreeView FolderTree; private System.ComponentModel.IContainer components; private void FolderTree_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e) { if(e.Node.Text.ToString()!="我的电脑") EnumDirectories(e.Node); else EnumDrives(e.Node); } private void EnumDrives(TreeNode ParentNode) { if(ParentNode.Nodes.Count==0) { foreach(string drive in Directory.GetLogicalDrives()) { FolderTree.SelectedNode=ParentNode; TreeNode TempNode=new TreeNode(); TempNode.Text=drive.Substring(0,drive.Length-1); TempNode.Tag=drive; TempNode.ImageIndex=1; TempNode.SelectedImageIndex=1; FolderTree.SelectedNode.Nodes.Add(TempNode); FolderTree.SelectedNode.Nodes[FolderTree.SelectedNode.Nodes.Count-1].EnsureVisible(); } } } private void EnumDirectories(TreeNode ParentNode) { FolderTree.SelectedNode=ParentNode; string DirectoryPath=ParentNode.Tag.ToString(); if(ParentNode.Nodes.Count==0) { if(DirectoryPath.Substring(DirectoryPath.Length-1)!=@"\") DirectoryPath+=@"\"; try { foreach(string directory in Directory.GetDirectories(DirectoryPath)) { TreeNode TempNode=new TreeNode(); TempNode.Text=directory.Substring(directory.LastIndexOf(@"\")+1); TempNode.Tag=directory; TempNode.ImageIndex=3; TempNode.SelectedImageIndex=2; FolderTree.SelectedNode.Nodes.Add(TempNode); FolderTree.SelectedNode.Nodes[FolderTree.SelectedNode.Nodes.Count-1].EnsureVisible(); } } catch(Exception) { } } } } VB。NET中的treeview可以实现这个功能 。c#肯定能实现啊我到写了一个不过是vb.net 的 类似与windows 的资源管理器一样的东东 看看这个: http://www.c-sharpcorner.com/Code/2002/Aug/WinExplorer.asp http://www.cnblogs.com/rudyshen/articles/28904.aspx dahuzizyd提供的例子很不错呵呵 C#中如何去除一个数字的最高位最低位? 为什么关闭入口窗体就全部关闭了?? C#里面如何动态的调用和释放DLL 这个类还是不够灵活,设置水印字体,和水印图片的位置,怎么弄呢? C#.net web开发中如何判断字段串中的回车换行符 怎么用asp.net做一个论坛? 请教各位兄弟帮帮忙! 那里出错了! 感谢! 关于Linq Group by + 去重 + 计数的问题 怎样控制DataGrid的刷新 c# winfrom 发送邮件 大家看看我还能不能转行到软件研发的这个岗位? 新手得小问题 :)
private System.Windows.Forms.TreeView FolderTree;
private System.ComponentModel.IContainer components; private void FolderTree_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
{
if(e.Node.Text.ToString()!="我的电脑")
EnumDirectories(e.Node);
else
EnumDrives(e.Node);
} private void EnumDrives(TreeNode ParentNode)
{
if(ParentNode.Nodes.Count==0)
{
foreach(string drive in Directory.GetLogicalDrives())
{
FolderTree.SelectedNode=ParentNode;
TreeNode TempNode=new TreeNode();
TempNode.Text=drive.Substring(0,drive.Length-1);
TempNode.Tag=drive;
TempNode.ImageIndex=1;
TempNode.SelectedImageIndex=1;
FolderTree.SelectedNode.Nodes.Add(TempNode);
FolderTree.SelectedNode.Nodes[FolderTree.SelectedNode.Nodes.Count-1].EnsureVisible();
}
}
} private void EnumDirectories(TreeNode ParentNode)
{
FolderTree.SelectedNode=ParentNode;
string DirectoryPath=ParentNode.Tag.ToString();
if(ParentNode.Nodes.Count==0)
{
if(DirectoryPath.Substring(DirectoryPath.Length-1)!=@"\")
DirectoryPath+=@"\";
try
{
foreach(string directory in Directory.GetDirectories(DirectoryPath))
{
TreeNode TempNode=new TreeNode();
TempNode.Text=directory.Substring(directory.LastIndexOf(@"\")+1);
TempNode.Tag=directory;
TempNode.ImageIndex=3;
TempNode.SelectedImageIndex=2;
FolderTree.SelectedNode.Nodes.Add(TempNode);
FolderTree.SelectedNode.Nodes[FolderTree.SelectedNode.Nodes.Count-1].EnsureVisible();
}
}
catch(Exception)
{
}
}
}
}
我到写了一个不过是vb.net 的 类似与windows 的资源管理器一样的东东
呵呵