2012-08-25 24 views
12

Desde hace un tiempo, algunas personas que han estado usando mi aplicación se han quejado de algún comportamiento extraño en la forma en que se dibuja el WinForm. El formulario tiene un splitcontainer con panel1 siendo reparado. No he podido reproducir sus problemas hasta el día de hoy.Winforms de diferentes tamaños en diferentes entornos

Acabo de instalar la aplicación en una computadora portátil que ejecuta una versión de 32 bits de la empresa Win7. (la aplicación está integrada y se ejecuta sin problemas en mi computadora ejecutando la versión de 64 bits de Win7 ent.)

Para ver qué sucedía, copié los archivos del proyecto en la computadora portátil y lo abrí con Visual Studio 2012 para ver que esta pasando. Sin embargo, me tiene atónito ya que no sé qué hacer al respecto.

En el dev. máquina (mi 64 bits ent win7), las especificaciones de la forma (y el contenedor dividido) tamaños son los siguientes:

  • altura Forma: 383
  • Formulario Ancho: 707
  • altura del contenedor de Split: 321
  • de Split Ancho contenedor: 691
  • distancia Splitter: 380

Cuando cargo del proyecto en la computadora portátil, las especificaciones se cambian a esto:

  • Formulario altura: 419
  • Formulario Ancho: 859
  • altura del contenedor de Split: 397
  • de Split Ancho contenedor: 921
  • distancia Splitter: 380

Ahora por fin puedo Comprenda la frustración de que algunas personas no puedan ver el programa como se supone que debe verse.

En la máquina de 32 bits, el divisor cubre parcialmente algunos botones, lo que obviamente hace que el programa sea difícil de usar ya que no pueden ver el texto.

¿Hay alguna razón por la que esto suceda?

Quiero decir, si el código original se establece en un valor de tamaño específico, ¿no es así cómo debería ser, sin importar dónde se ejecuta el programa? (Dado que el usuario no cambia el tamaño, por supuesto).

Y lo más importante, ¿hay alguna manera de que pueda resolver esto sin tener que crear dos versiones separadas?

+2

mirada a los tamaños de pantalla y la escala de fuentes. –

Respuesta

12

Podrían estar ejecutando sus sistemas en un DPI diferente (puntos por pulgada), y esto está cambiando la forma en que los controles se colocan y escalan en Windows Form debido a las opciones de escala y afectan el tamaño de fuente.

Usted puede mirar en el Panel de control | Apariencia y personalización | Pantalla para encontrar esos ajustes:

  • más pequeño - 100% = 96 ppp
  • Medio - 125% = 120 ppp
  • más grande - 150% = 144 DPI

Usted puede mirar en el Opciones de escalamiento de WinForms si el DPI tiene un efecto y qué ajustar de manera apropiada.

+0

Muchas gracias, me ha llevado algo de tiempo solo reproducir el problema. Nunca pensé en esto en absoluto, y ahora que lo vi por mí mismo, al menos podría determinar que está allí. Ahora solo me gustaría saber cómo asegurarme de que no se autoescala. (O haga posible que las personas se determinen a sí mismas si quieren que se autoestructure o no). – Rickard

+0

Gracias - ¡muy útil! – Smashery

Cuestiones relacionadas