Cómo: Controlar los cambios de orientación y de resolución
Actualización: noviembre 2007
La tabla siguiente muestra las orientaciones de la pantalla de Pocket PC y Smartphone admitidas por .NET Compact Framework. Las dimensiones se expresan en píxeles, ancho por alto.
Orientación de la pantalla |
Dimensiones típicas para 96 PPP |
Dimensiones típicas (alta resolución) para 192 PPP |
---|---|---|
Vertical - Pocket PC Vertical - Smartphone |
240 x 320 176 x 220 y 240 x 320 |
480 x 640 352 x 440 y 480 x 640 |
Horizontal - Pocket PC únicamente |
320 x 240 |
640 x 480 |
Cuadrado - Pocket PC únicamente |
240 x 240 |
480 x 480 |
Se pueden utilizar la delimitación y el acoplamiento para cambiar automáticamente el tamaño de los controles de modo que el contenido del formulario se adapte a las diferentes orientaciones de la pantalla. La delimitación mantiene una distancia especificada desde un borde, mientras que el acoplamiento ajusta a un borde del contenedor primario.
La propiedad Anchor de un control determina su comportamiento de cambio de tamaño cuando el formulario o el control que lo contienen cambia de tamaño. La propiedad Dock de un control especifica a qué bordes del control que lo contiene debe ajustarse.
La delimitación y el acoplamiento en .NET Compact Framework tienen el mismo comportamiento que en .NET Framework completo.
Se puede personalizar la aplicación para adaptarse a diferentes valores de resolución de píxeles en PPP (puntos por pulgada).
Para controlar un cambio de orientación de la pantalla
Se pueden colocar controles que deben estar en un área determinada del formulario en un control contenedor, como Panel, y establecer a continuación la propiedad Dock de Panel en el borde deseado.
Para mantener el tamaño y la ubicación apropiados de un control con respecto a los lados del formulario, establezca la propiedad Anchor de los controles en la ubicación deseada.
Por ejemplo, para que un botón aparezca siempre en la esquina inferior derecha y conserve su tamaño, utilice la instrucción siguiente:
Me.Button1.Anchor = AnchorStyles.Bottom Or AnchorStyles.Right
this.button1.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
En Microsoft Visual Studio 2005, se pueden establecer valores de delimitación y acoplamiento en el panel Propiedades.
Para cambiar la orientación de la pantalla
Si el Pocket PC está ejecutando Windows Mobile 5.0, puede cambiar la orientación de la pantalla de vertical a cero grados a 90, 180 y 270 grados, según la especificación de la enumeración ScreenOrientation. Por ejemplo, la instrucción siguiente establece una orientación horizontal:
SystemSettings.ScreenOrientation = ScreenOrientation.Angle270
SystemSettings.ScreenOrientation = ScreenOrientation.Angle270;
Observe que la orientación de la pantalla cambia el dispositivo, no sólo la aplicación. Por consiguiente, una práctica correcta sería volver a establecer el valor original de la orientación de la pantalla en el código de control de eventos para el evento FormClosing.
Para controlar un cambio de resolución de la pantalla
Cuando se crea un proyecto para dispositivos inteligentes en Microsoft Visual Studio 2005, el diseñador proporciona código para cambiar automáticamente el tamaño de los controles de acuerdo con la resolución de la pantalla del dispositivo; en caso contrario, si la aplicación se ejecuta en un dispositivo con una resolución en PPP (puntos por pulgada) diferente de la del dispositivo utilizado para su desarrollo, el formulario se mostrará con un tamaño demasiado grande o demasiado pequeño. Por consiguiente, el tamaño de los controles del formulario se debe ajustar apropiadamente.
Cuando se crea un proyecto para dispositivos inteligentes en Visual Studio 2005, el diseñador agrega las instrucciones siguientes en el método InitializeComponent:
[Visual Basic]
Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
[C#]
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
Estas instrucciones muestran una aplicación que se desarrolla para un dispositivo con una resolución de 96 PPP y en la que el cambio automático de tamaño se realiza utilizando el modo de PPP. Observe que 96 PPP es el valor predeterminado obtenido del equipo de escritorio que ejecuta Visual Studio 2005. El diseñador genera automáticamente este código, y los controles del formulario cambiarán automáticamente de tamaño para controlar diferentes valores de PPP.
Si la aplicación contiene gráficos que se dibujan en el método OnPaint, no cambiarán automáticamente de tamaño. Será necesario utilizar las propiedades DpiX y DpiY de los objetos Graphics para determinar el cambio de tamaño apropiado. Ejemplo Rotated Text Using LogFont muestra un ejemplo de cambio de tamaño manual.
Vea también
Tareas
Cómo: Alinear un control con los bordes de los formularios
Conceptos
Ajuste automático de escala en formularios Windows Forms
Otros recursos
Controles de formularios Windows Forms en .NET Compact Framework