当前位置:  开发笔记 > 编程语言 > 正文

C#Dropbox of drives

如何解决《C#Dropboxofdrives》经验,为你挑选了1个好方法。

我记得在vb6中有一个类似于dropbox/combobox的控件,你可以选择驱动器名称.它会引发一个事件,然后您可以设置另一个控件来枚举列表框中的文件.(在drive.event中你执行files.path = drive.path来获得这种影响).

在C#中有这样的东西吗?一个控件,它会删除可用驱动器列表并在更改时引发事件?



1> Matt Hamilto..:

没有内置控件可以做到这一点,但使用标准ComboBox很容易实现.在表单上删除一个,将DropDownStyle更改为DropDownList以防止编辑,并在表单的Load事件中添加以下行:

comboBox1.DataSource = Environment.GetLogicalDrives();

现在,您可以处理SelectedValueChanged事件,以便在有人更改所选驱动器时执行操作.

在回答了这个问题后,我发现了另一种(更好的?)方法.您可以使用DriveInfo.GetDrives()方法枚举驱动器并将结果绑定到ComboBox.这样你可以限制哪些驱动器适用.所以你可以从这开始:

comboBox1.DataSource = System.IO.DriveInfo.GetDrives();
comboBox1.DisplayMember = "Name";

现在comboBox1.SelectedValue将是DriveInfo类型,因此您将获得有关所选游戏的更多信息.如果您只想显示网络驱动器,可以立即执行此操作:

comboBox1.DataSource = System.IO.DriveInfo.GetDrives()
    .Where(d => d.DriveType == System.IO.DriveType.Network);
comboBox1.DisplayMember = "Name";

我认为DriveInfo方法更灵活.

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有