Estoy consultando un gran proyecto .Net winforms que tiene que poder ejecutarse en el modo "Touch" para que pueda ser operado usando una interfaz de pantalla táctil. La arquitectura de la aplicación ya contiene lógica de escala para agrandar las fuentes/pantallas en los formularios y controles .Net estándar y los controles personalizados también manejan la escala.Diálogos de Windows con fuentes grandes
El problema es que la aplicación usa OpenFileDialog y SaveFileDialog que no se escalan utilizando la misma lógica (que básicamente se ajusta el tamaño de la propiedad Font en el control y los formularios recursivamente). Creo que estos diálogos son diálogos nativos de Windows y la clase OpenFileDialog son en realidad solo clases contenedoras que exponen una interfaz .Net estándar para interactuar con ellos.
Una solución podría ser implementar diálogos personalizados para estas cosas, pero eso probablemente sería un trabajo extenso. Lo que realmente nos gustaría hacer es escalar de alguna manera el tamaño de la fuente de este diálogo en particular (tal vez a través de alguna magia de manejo de ventana P/Invoke).
Sé que una solución para la activación táctil sería ajustar el tamaño de la fuente de Windows en general, pero esa idea no se está poniendo al día con esta empresa, prefieren escalar la aplicación y dejar el resto del SO intacto.
¿Alguna experiencia o ideas sobre cómo puede escalar estos diálogos a una fuente más grande? ¿O deberíamos simplemente morder la bala y crear diálogos personalizados para esto?
[Este] (http://www.codeproject.com/KB/dialog/OpenFileDialogEx.aspx) artículo puede ayudarlo. – ahazzah
El artículo es bueno, pero yo no iría de esta manera. Prefiero reescribir el código que piratear las clases selladas de .NET. La próxima versión del marco o los cambios de API podrían romper fácilmente su código. Usar controles de terceros podría ayudarte mucho aquí (pagos o gratuitos). Primero iría en busca de un control de árbol, que es más difícil de personalizar y todo. –
[Esto] (http://www.codeproject.com/KB/dialog/CustomizeFileDialog.aspx) otro artículo podría ayudarlo también =) –