关于TreeView的几个问题

gthreebao 2005-09-07 11:46:49
1、我用Directory.GetLogicalDrives()方法来获得本地的驱动器,有没有办法通过程序来判断这些驱动器中哪些是软驱,哪些是光驱?

2、如何让TreeView只显示当前选中目录的子目录,就是说比如我的C盘下面有Dir1,dir2,dir3,我选中C盘时能看到这三个文件夹,当我选中dir1时就只能看见dir1下的子目录,而dir2和dir3是看不见得?

3、在TreeView中的节点,如何才能做到鼠标单击时只选中不打开,双击时才打开?

4、为什么有些文件夹是不能打开的,比如C盘下面的Recycled文件夹无论怎么样也打不开?是因为它是系统文件夹吗?我是用Directory.GetDirectories()来获得文件夹的,能否有什么方法过滤掉一些系统隐藏的文件夹?

问题比较多,希望各位高手不吝赐教,谢谢了!!
...全文
178 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gthreebao 2005-09-08
  • 打赏
  • 举报
回复
第一个问题已解决,第二个问题是由于以前做的VB6.0里面DirList就是这样,表示形式就像只有一个阶梯往下走。谢谢各位帮忙
wada0880 2005-09-07
  • 打赏
  • 举报
回复
可以啊,用wmi
EricBai 2005-09-07
  • 打赏
  • 举报
回复
楼主第2个问题不明白,你想做成Explorer那个样子吗?
第3个问题,你可以把打开的代码写在DoubleClick事件里面啊。
第4个,不了解,帮顶。
EricBai 2005-09-07
  • 打赏
  • 举报
回复
首先你要引用Scripting.dll这个组件,这是个COM组件。

下面是我写的代码,如果有什么拼写错误,见谅。

Dim MF As New Scripting.FileSystemObject
Dim MD As Scripting.Drive

For Each MD In MF.Drives
If MD.DriveType = Scripting.DriveTypeConst.CDRom Then
MsgBox("This Is CDRom", MsgBoxStyle.Information, "DriveTest")
End If

Next MD
molin_a_6 2005-09-07
  • 打赏
  • 举报
回复
1.用.net自带一个组件System.Management(参照追加中的.net就有)
用时引用
using System.Management;

ManagementObjectCollection disks=null;
ManagementClass diskClass = new ManagementClass("Win32_LogicalDisk");
ManagementBaseObject disk=null;

disks = diskClass.GetInstances();
foreach(ManagementBaseObject disk in disks)
{
}
msdn中自带例子,微软的网站上也有例子,csdn有很多关于这个的解决方法,搜索“驱动”即可。
也许可以把问题4也解决了。



gthreebao 2005-09-07
  • 打赏
  • 举报
回复
自己定一下,希望有高手来回答,苦等中

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧