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

Cómo mostrar/ocultar el SIP (InputPanel)
Hacer que se muestre/oculte el SIP (Soft Input Panel)
   


Publicado el 10/May/2003
Revisado el 21/Feb/2007


Para poder acceder al teclado en las aplicaciones para dispositivos móviles (Pocket PC) con .NET Compact Framework, podemos usar el componente InputPanel, para ello habrá que agregar dicho componente al formulario (realmente no se añade al formulario sino al panel de componentes).

Para que el SIP (Soft Input Panel) sea visible, hay que tener un menú principal (MainMenu) agregado al formulario (aunque no tengamos ninguna opción en dicho menú).

Este componente es útil cuando vamos a introducir caracteres, por ejemplo en una caja de texto, por tanto podríamos agregar el siguiente código para que se muestre u oculte cada vez que una caja de textos reciba o pierda el foco.

La siguiente figura muestra el SIP (Soft Input Panel) mostrado al recibir una de las cajas el foco:

Por ejemplo, si queremos mostrarlo cuando la caja de textos recibe el foco haremos lo siguiente en el evento GotFocus del control:

InputPanel1.Enabled = True

Por otro lado, si la caja de textos pierde el foco, deberíamos ocultarlo, para ello, añadiremos el siguiente código en el evento LostFocus de la caja de textos (o el control de edición que estemos usando):

InputPanel1.Enabled = False

Nota:
En estos ejemplos, se supone que el componente InputPanel que hemos añadido al formulario se llama InputPanel1

Para más información, usa estos links para acceder a la documentación de Visual Studio .NET 2003:
(lo marcado en negrita seguramente tendrás que cambiarlo)
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.1033/dv_evtuv/html/etconUsingInputPanel.htm
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.1033/dv_evtuv/html/etconinputpanelcomponent.htm

 

El componente InputPanel tiene estas propiedades y eventos:

Propiedad / Evento Descripción
Enabled Muestra (=True) u Oculta (=False) el SIP
VisibleDesktop Devuelve un valor de tipo Rectangle con el área no ocupada por el SIP
Bounds Devuelve un valor de tipo Rectangle con la posición y tamaño del SIP
EnabledChanged (evento) Se produce cuando se muestra u oculta el SIP, tanto al asignar un valor a la propiedad Enabled como cuando el usuario lo oculta o muestra pulsando en el icono.

Nota:
En otra ocasión veremos ejemplos de cómo usar las propiedades VisibleDesktop y Bounds para adaptar los controles al espacio libre del SIP (con idea de que no se oculten los controles al mostrarse el SIP)

Nota del 21/Feb/07:
Aquí tienes el ejemplo para ajustar el espacio libre usando la propiedad VisibleDesktop de InputPanel.


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