Índice de la sección dedicada a .NET (en el Guille)   .NET Compact Framework

Mostrar icono de Cerrar/Ocultar (OK, X)
Cambiar el comportamiento de las ventanas en Pocket PC
   


Publicado el 10/May/2003
Revisado el 11/May/2003


Cuando añadimos un formulario a una aplicación para Pocket PC, de forma predeterminada se muestra el icono (una X) en la parte superior derecha del formulario, al pulsar sobre este icono, el formulario "desaparece", pero no cierra la aplicación, ya que esa X significa que se minimice el formulario en cuestión, esta es la forma predeterminada de las aplicaciones para Pocket PC.

Pero puede ser que no sea lo que realmente estés buscando, ya que al ocultarse, puede parecer que la aplicación ha terminado y no es así, ya que simplemente está oculta o minimizada, pero a diferencia de las aplicaciones normales, no tenemos esa sensación, además de que si estamos probando con el emulador de Pocket PC no tenemos acceso a las aplicaciones que están ocultas (o minimizadas) y para poder acceder a las aplicaciones que están ejecutándose tendremos que "navegar" un poco entre las configuraciones del dispositivo móvil (ahora veremos cómo).

La solución podría ser que en lugar de ocultarse la ventana, se cerrara, para ello en lugar de mostrar la X, habría que mostrar el icono (OK). Para poder conseguir esto simplemente tendremos que asignar un valor False (falso) a la propiedad MinimizeBox.

Nota:
Recuerda que por defecto el valor de la propiedad MinimizeBox es True, por tanto de forma predeterminada se mostrará el icono de ocultar la ventana.

Si no queremos que se muestre ese botón, tendremos que asignar un valor False a la propiedad ControlBox del formulario, esto quiere decir que para que se muestre cualquiera de los dos mencionados, esa propiedad debe tener asignado un valor verdadero, que es el valor predeterminado que tiene.

En las siguientes figuras tenemos un ejemplo del aspecto que tendría una aplicación mostrando el icono de minimizar/ocultar (X) y el de cerrar (OK).


Con el botón de ocultar (X)

Con el botón de cerrar (OK)

 

En esta aplicación de ejemplo he usado un botón para cambiar entre una y otra forma de mostrar dicho botón. Y para conseguir nuestro propósito tendremos en cuenta si el valor de MinimizeBox es verdadero o falso, ya que simplemente asignando un valor a esta propiedad cambiamos de un modo a otro:

Valor de MinimizeBox Icono mostrado
True (verdadero) X (ocultar)
False (falso) OK (cerrar)

El código del evento Click del botón de "Cambiar el estilo de la ventana", sería el siguiente:

Private Sub btnCambiarEstilo_Click(ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs _
                                   ) Handles btnCambiarEstilo.Click
    ' Cambiar el botón de la aplicación
    ' cuando MinimizeBox es True se muestra la X (al pulsar se ocultará)
    ' cuando MinimizeBox es False se muestra el OK (al pulsar se cerrará)
    MinimizeBox = Not MinimizeBox
End Sub

Si tenemos mostrado el botón X (ocultar/minimizar) y pulsamos en él, la aplicación no se cierra, sino que se oculta (como ya he dicho anteriormente), por tanto si queremos acceder nuevamente a dicha aplicación, tendremos que "navegar" entre las aplicaciones que están en memoria y activarla.

Nota:
En estos casos en los que nos interese que la aplicación se oculte, deberíamos tener previsto que si el usuario vuelve a ejecutar nuestra aplicación, ésta compruebe si ya está en memoria y activarla. Un ejemplo de cómo hacer esto lo tienes en el ejemplo de PrevInstance.

Para poder saber que aplicaciones están en ejecución, habría que ir (por medio del menú de inicio) a: Configuraciones>Sistema, pulsar en el icono Memoria, seleccionar la ficha Programas en ejecución y seleccionar el que queramos activar y después pulsar en el botón Activar.
En la siguiente figura se muestra este último paso (al estar capturado del emulador, se muestran los textos en inglés). 


Activar una aplicación en ejecución


la Luna del Guille o... el Guille que está en la Luna... tanto monta...