【问题标题】:WPF dialogbox to select file or folder用于选择文件或文件夹的 WPF 对话框
【发布时间】:2014-06-06 18:44:54
【问题描述】:

我想知道是否有办法让用户在单击“选择文件或文件夹”按钮时让他根据需要选择文件或文件夹。 我知道有办法制作一个选择文件或一个选择文件夹,我想以一种方式来做,用户要么选择一个文件,要么选择一个文件夹,然后在我的代码中,我得到文件或文件夹的文件列表。

提前感谢您的帮助

【问题讨论】:

    标签: wpf dialog


    【解决方案1】:

    这有点糟糕,但我认为您需要制作自己的 OpenFileDialogue 并使用 Directory 类。

       using System.IO;
    
       string[] filePaths = Directory.GetFiles(@"c:\MyDir\");
       string[] dirPaths = Directory.GetDirectories(@"c:\MyDir\");
    

    目录类有一些有用的东西可以让这个过程更容易一些。

    【讨论】:

    • 好的,您能否再解释一下您的解决方案。我想打开一个对话框,用户可以在其中选择一个文件夹并单击“确定”,或者该文件夹中的一些或一个文件并选择“确定”。在第一种情况下,您将获得文件夹中所有文件的字符串路径列表,在第二种情况下,您将获得仅选定文件的字符串路径列表。
    • OK 创建一个新窗口或带有列表框的东西。将这两个列表都添加到列表框中,当用户选择某些内容时,检查它是文件还是文件夹(我相信可以使用目录类来完成),然后处理就是你想要的。
    【解决方案2】:

    创建一个类FolderPicker 然后像这样编码>>

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    using System.Windows.Forms;
    
    namespace AutoRunGenerator
    {
        class FolderPicker
        {
            public static string FileName = "";
    
            public FolderPicker()
            { 
              OpenFileDialog ofd = new OpenFileDialog();
                DialogResult dr= ofd.ShowDialog();
                string filename = ofd.FileName;
                FileName = filename;
            }
            public string GetFileName()
            {
                return FileName;
            }
        }
    }
    

    那么 从您的事件方法或类似的任何地方调用它>>

    FolderPicker fp = new FolderPicker();
    txtBox.Text= fp.GetFileName();
    

    我希望这对文件对话框有所帮助

    【讨论】:

    • 您将其命名为“FolderPicker”这一事实并不能让它神奇地允许选择文件夹。 OP 要求提供多用途对话框,您只是将文件对话框包装成您自己的类型。
    猜你喜欢
    • 2011-04-29
    • 1970-01-01
    • 2017-11-30
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-26
    • 2020-11-24
    相关资源
    最近更新 更多