如何让用户选择源目录

本文关键字:选择 用户 | 更新日期: 2023-09-27 18:20:05

我正试图弄清楚如何允许用户选择目录,而不仅仅是选择文件。我不在乎文件,只在乎目录。有没有办法让用户这样做?我找到的唯一方法是返回应用程序运行的机器上可用的驱动器列表

这不是我所需要的,因为任何联网的计算机都不会显示,只显示实际映射的驱动器。我只需要让用户选择一个源目录并保存该服务器路径(''my-server-name'path'to'source),这样我运行的服务就会在计划的时间处理它。

我不确定我的代码是否可以修改为显示所有网络计算机,或者是否已经有一种方法/库可以让用户在服务器上浏览目录,但我被卡住了。有什么办法可以做到这一点吗?

return (from info in driveInfo
   where info.DriveType == DriveType.Network
   select new Drive
   {
      Name = info.Name, Type = info.DriveType, 
      RootDirectory = info.RootDirectory.Name, IsReady = info.IsReady,
   }).ToList();

任何非c#解决方案也会起作用,只要它仍然可以很好地集成。不确定NodeJSHtml5Javascript是否可以做到这一点?

如何让用户选择源目录

这不是一个漂亮的解决方案,而且速度也不快,但如果我正确阅读了你的问题,这与你想要的一样(在VB.NET中完成)

    Dim fbd1 As New FolderBrowserDialog
    Dim type As Type = FolderBrowserDialog1.GetType
    Dim fieldInfo As Reflection.FieldInfo = type.GetField("rootFolder", Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance)
    fieldInfo.SetValue(fbd1, DirectCast(18, Environment.SpecialFolder))
    fbd1.ShowDialog()

这将打开一个以"Network"为根文件夹的FolderBrowserDialog对话框。单击"网络"后,它将展开以列出您可以查看的所有网络设备。在我的电脑上,速度很慢。

这是我在这里找到的一个稍微修改过的解决方案-http://www.codeproject.com/Articles/20547/How-to-Browse-Network-Folders-using-Folder-Dialog