¿Existe un objeto OpenFileOrFolderDialog en .NET?
-
01-07-2019 - |
Pregunta
¿Es posible utilizar el OpenFileDialog
clase seleccionar un archivo O carpeta?Parece solo permitir la selección de un archivo; si selecciona una carpeta y luego elige abrir, navegará a esa carpeta.
Si el OpenFileDialog
no se puede usar para esto. ¿Hay otro objeto que debería usar?
EDITAR:El escenario es que tengo una herramienta que puede cargar uno... muchos archivos o carpetas.Necesito poder proporcionar un diálogo como el OpenFileDialog
que permite al usuario seleccionar un archivo, carpeta o una combinación de ellos.sé sobre el FolderBrowseDialog
y esa no es la respuesta en este caso.
Solución
Esta es la solución que estaba buscando. Este artículo proporciona código y describe cómo crear un cuadro de diálogo que satisfaga mis necesidades.
Otros consejos
Sí, puede utilizar OpenFileDialog para seleccionar una carpeta.Aquí hay un artículo en CodeProject que demuestra una manera de hacerlo (http://www.codeproject.com/KB/dialog/OpenFileOrFolderDialog.aspx).
En mi experiencia en .NET, tendría que decir que no, perdón por la respuesta corta y negativa, pero realmente no creo que haya
Si tienes tiempo, puedes crear el tuyo propio con bastante facilidad utilizando el Sistema.Windows.Forms.TreeView Clase.Cada nodo puede tener una casilla de verificación, por lo que si completa la vista de árbol (onexpand), puede permitir que el usuario seleccione los archivos/directorios que desea cargar.
Esto debería ayudarlo a comenzar a llenar la vista de árbol con directorios; el trabajo de agregar también archivos en la vista de árbol no debería ser tan difícil:
http://www.java2s.com/Tutorial/VB/0280__GUI-Applications/FileTreeview.htm
No:OpenFileDialog es solo para abrir archivos.De todos modos, hay un FolderBrowserDialog que puedes usar para eso.
[Editar] Respondió demasiado rápido:la edición del interrogador fue posterior.
Sugeriría echar un vistazo a Diálogos de Ookii bibliotecas que tienen una implementación de un cuadro de diálogo de exploración de carpetas para Windows Forms y WPF respectivamente:
Ookii.Diálogos.Wpf
Ookii.Dialogs.WinForms