Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: UsuarioZ en 23 Enero 2024, 21:16 pm



Título: Por que pasa esto? C# diseño de windows form en VS
Publicado por: UsuarioZ en 23 Enero 2024, 21:16 pm
Estoy intentando diseñar una ventana con botones y un panel usando el diseñador, y hago el diseño, pero cuando ejecuto el programa sale todo el diseño bugeado, es la primera vez que intento hacer una app para windows, no entiendo bien que esta pasando..


Arriba sale un mensaje que dice "scalling on your main display is set to 125%. consider opening the winforms designer in dpi-unaware mode."






Título: Re: Por que pasa esto? C# diseño de windows form en VS
Publicado por: Serapis en 6 Febrero 2024, 16:01 pm
Junto a tus dudas es adecuado que señales que verisón de Visual Studio estás usando, ya que hay funcionalidad diferente a lo largo de tiempo.

De todos modos parece que has toqueteado alguna función para escalar la ventana y controles. Lo ideal es que mientras lo diseñas lo tengas en el 100%, es decir que quepa en el escritorio de tu monitor, y ya será otra cosa escalar la ventana.

De hecho, si estás emprezanso lo adecuado es que obvies todo lo que tenga con ver con la escala, haz que tu ventana tenga un tamaño fijo que no exceda la resolución tipica de un monitor (actual al menos), para ello tendrás que pensar bien como mostrar los controles para que quepan todos, lo idela es que se agrupen por funcionalidad y cada funcionalidad vaya separada, de hecho si es muy distita, incluso es preferible que vaya e su propia ventana si reqiere mucha manipulación de interfaz.
En casos de programas más o menos complejos, la ventana principal actúa de menú principal y toda la funcionalidad descarga en diferentes ventanas.

Cuando ya tengas cierta soltura, puedes si quieres ver de adaptar la interfaz para que se vea similar en cada resolución de pantalla o escalando... en ese punto ya entenderás bien la propiedad 'docking' de los controles, que es bastante probable que sea el problema actual en tu diseño (más que la escala)...


Título: Re: Por que pasa esto? C# diseño de windows form en VS
Publicado por: elektrostudios2 en 21 Febrero 2024, 05:58 am
El mensaje de advertencia te indica que tu sistema operativo está configurado para mostrar elementos al 125% de su tamaño normal. Esta es una configuración común utilizada para hacer que el texto y otros elementos sean más grandes y legibles en pantallas de alta resolución.

Seguidamente, el mensaje de advertencia además te sugiere una posible solución: considerar abrir el Diseñador de Windows Forms en modo sin DPI o "DPI-Unaware", esto es, un modo en el que el Diseñador de Windows Forms administra el tamaño de los elementos visuales sin tener en cuenta el escalado DPI de tu pantalla.

Entonces, para solucionar el problema se me ocurren dos opciones:

Opción 1:
    Accede a la configuración de panralla en tu sistema y cambia el escalado (DPI) a 100%.

Opción 2:
    Inicia Visual Studio en modo DPI-Unaware. Para ello, puedes seguir las siguientes indicaciones:

 - https://learn.microsoft.com/es-es/visualstudio/designers/disable-dpi-awareness?view=vs-2022#restart-visual-studio-as-a-dpi-unaware-process  (https://learn.microsoft.com/es-es/visualstudio/designers/disable-dpi-awareness?view=vs-2022#restart-visual-studio-as-a-dpi-unaware-process)

Si estás usando Visual Studio 2022, versión 17.8 o superior, puedes establecer la propiedad ForceDesignerDPIUnaware con valor true en el archivo de tu proyecto (*.csproj):

 - https://learn.microsoft.com/es-es/visualstudio/designers/disable-dpi-awareness?view=vs-2022 (https://learn.microsoft.com/es-es/visualstudio/designers/disable-dpi-awareness?view=vs-2022)

Citar
Código
  1. <PropertyGroup>
  2.  ...
  3.  <ForceDesignerDPIUnaware>true</ForceDesignerDPIUnaware>
  4. </PropertyGroup>

Aténtamente,
Elektro.