resource how example winforms visual-studio resx

how - resources winforms c#



¿Cómo evitar cambios innecesarios en*.designer.cs y*.resx? (2)

Intente bloquear su control con el botón derecho, luego seleccione "Bloquear controles" en su formulario / Control de usuario.

Desafortunadamente, no hay manera de separar los cambios "útiles" en el código generado de la "contaminación" que provienen de un error del diseñador de control o de un trabajo interno.

Si la función de control de bloqueo no funciona por cualquier motivo, no hay mucho que podamos hacer, excepto esos hacks horribles:

  • Una vez que se haya creado y finalizado su formulario, mueva su código generado (método y declaraciones de InitializeComponent) fuera de .designer.cs. Visual Studio no lo tocará más. El inconveniente es que ya no tendrá soporte visual.

  • Tener el archivo .designer.cs marcado como de solo lectura evitará que Visual Studio intente cambiarlo. Puede que a veces se produzcan problemas con el diseñador de control de Visual Studio, pero dejará su .designer.cs intacto.

Hay otra manera que consiste en no usar el diseñador en absoluto . Esto conduce a una nueva forma de adoptar la programación de winforms, porque proporcionará el código para inicializar los controles con sus propiedades y eventos.

No es tan enorme y feo como parece: el uso de patrones reutilizables y las funciones OO podrían ser muy agradables, y algunas llamadas de métodos bien alineados son mejores que un código horrible oculto en un archivo .designer.cs.

Por supuesto, no habrá soporte visual, pero puede engañarlo si agrega su control a un contenedor vacío en el modo de diseño para ver cómo se ve.

Por alguna razón, el tiempo a tiempo de Visual Studio Winforms Designer aplica cambios aburridos a los archivos del diseñador de formularios y resx respectivos.

Lo más molesto hasta ahora:

  • Cambios a orden de controles Declaraciones / Inicialización.
  • Cambios en algunos tamaños de control (principalmente anchos de elementos de menú)
  • cambios a imágenes serializadas incrustadas en recursos (... espera, ¿qué ???)

Esos cambios no afectan la funcionalidad de control de forma / usuario o su apariencia, pero crean gran cantidad de ruido en el control de la fuente, lo que hace que las combinaciones sean casi imposibles, o requieren una corrección manual propensa a errores para eliminar todos los cambios que realmente cambian, hasta el próximo cambio. diseñador.

¿Alguna idea de cómo prevenir el estudio?


Según tengo entendido, usted ha editado el archivo .designer.cs. Desde un punto está bien, supongo que todos lo hacemos. Sin embargo, hay una clara notificación de que ''el archivo se genera automáticamente, no lo modifique''. Así que Visual Studio le advierte que, si lo edita, las cosas no siempre van bien. Es así por diseño. Y aunque esos cambios automáticos pueden no causar problemas a su aplicación, a veces sí lo hacen (por ejemplo, establecer el ancho y el alto en el control que debería cambiar su ancho y alto de forma contextual, y eso siempre es necesario si tiene una aplicación multilingüe).

Entonces, si no te gusta la basura, no usas el diseñador, porque crea basura, así es como funciona. O empiezas con eso y en algún momento decides no volver a abrirlo y luego hacer tu limpieza.

O bien, elige WPF, cumple con sus requisitos, y es hora de que WinForms sea un legado, en algún momento el soporte para él seguramente terminará.