.net - studio - windows forms c# open file dialog
¿Cómo personalizo el diálogo FileOpen para>=Vista? (1)
OpenFileDialog
es una característica incorporada de Windows (no es .NET en absoluto), por lo que ampliarla es una tarea bastante trivial. ¿Por qué no lo construyes desde cero o buscas soluciones existentes?
Aquí hay algunos enlaces que podrían ayudar:
http://www.codeproject.com/Articles/19566/Extend-OpenFileDialog-and-SaveFileDialog-the-easy
http://www.codeproject.com/Articles/16276/Customizing-OpenFileDialog-in-NET
http://www.functionx.com/visualc/controls/filedialog.htm
http://mariusbancila.ro/blog/2009/08/11/file-dialog-with-custom-constrol/
Estoy buscando personalizar el OpenFileDialog
tipo OpenFileDialog
con controles WinForms y WPF personalizados. Sé que puedes modelar el OpenFileDialog similar a XP, pero parece bastante feo y no satisface mis requisitos. Sé que puede personalizar OpenFileDialog
con los diálogos de Ookii o desde el API Code Pack de Microsoft . El problema con este enfoque es que no permiten controles personalizados, solo un subconjunto limitado de controles ( Label
, TextBox
, etc.).
Lo más cerca que he conseguido es la imagen de abajo. Usando una combinación del API Code Pack, algunos cambios en el Shell, un trabajo de hackeo de agregar etiquetas vacías para el espaciado, con un montón de COM feo para dibujar el control directamente en OpenFileDialog, pude acercarme.
El problema con este enfoque es que tengo que deshabilitar el redimensionamiento en WndProc porque la sección de controles en CommonOpenFileDialog
tiene un diseño de flujo / envoltura y no se pueden agregar / quitar controles dinámicamente en el tamaño o se obtiene una falla catastrófica si el OpenFileDialog ya se ha mostrado.
¿Hay alguna sugerencia más allá de lo que he probado o cualquier producto de terceros que funcione como OpenFileDialog estándar de Vista, pero permita la inserción de controles personalizados?
CustomOpenFileDialog http://www.formatexception.com/images/CustomizedVistaFileOpenDialog.PNG
También intenté rodar el mío usando el ExplorerBrowser del API Code Pack (como en la imagen de abajo), pero a pesar de peinar sobre la COM API no parece una forma de definir filtros en el ExplorerBrowser.
CustomExplorerBrowserOpenFileDialog http://www.formatexception.com/images/CustomFileOpenDialog.PNG