Is there an OpenFileOrFolderDialog object in .NET?

2020-03-17 04:29发布

问题:

Is it possible to use the OpenFileDialog class select a file OR folder? It appears only to allow the selection of a file, if you select a folder and then choose open it will navigate to that folder.

If the OpenFileDialog can not be used for this is there another object I should be using?

EDIT: The scenario is that I have a tool that can upload one...many files or folders. I need to be able to provide a dialog like the OpenFileDialog that allows a user to select a file, folder, or a combination of. I know about the FolderBrowseDialog and that is not the answer in this case.

回答1:

This is the solution I have been looking for, this article provides code and describes how to create a dialog that meets my needs.

CodeProject: Full Implementation of IShellBrowser



回答2:

Yes, you can use OpenFileDialog to select a folder. Here is an article in CodeProject that demonstrated a way to do it (http://www.codeproject.com/KB/dialog/OpenFileOrFolderDialog.aspx).



回答3:

In my experience in .NET, I would have to say no, sorry for the negative and short answer, but I really don't think there is



回答4:

If you have time, you can create your own pretty easily by using the System.Windows.Forms.TreeView Class. Each node can have a checkbox, so If you populate the treeview (onexpand) you can let the user select the files/directories he wants to upload.

This should get you started on populating the treeview with directories, the job to also add files in the treeview should not be that hard:

http://www.java2s.com/Tutorial/VB/0280__GUI-Applications/FileTreeview.htm



回答5:

No: the OpenFileDialog is just for opening files. Anyway there is a FolderBrowserDialog you can use for that.

[Edit] Answered too fast: the Edit from the questioner was afterwards.



回答6:

I'd suggest taking a look at the Ookii Dialogs libraries which have an implementation of a folder browser dialog for Windows Forms and WPF respectively:

Ookii.Dialogs.Wpf

https://github.com/caioproiete/ookii-dialogs-wpf


Ookii.Dialogs.WinForms

https://github.com/caioproiete/ookii-dialogs-winforms