Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
Puesto que un control Label no tiene el foco y no admite tabulación, una aplicación Smartphone de sólo controlesLabel no permite que el usuario navegue a etiquetas que estén fuera del área visible de cliente del formulario. El usuario de una aplicación de Pocket PC puede puntear en las barras de desplazamiento para navegar, pero esta función no está disponible en Smartphone.
Puede implementar la navegación proporcionando código en el controlador de eventos para el evento KeyDown que ajusta la propiedad AutoScrollPosition.
Para desplazar un formulario de controles de etiqueta
Agregue varios controles Label al formulario para que algunos de ellos estén debajo del área visible de cliente. Utilice las teclas de dirección en el diseñador de Microsoft Visual Studio 2005 o escriba el código de inicialización para colocarlos.
En el constructor del formulario, establezca las propiedades KeyPreview y AutoScroll en true. Los usuarios de C# deben asociar un delegado para el controlador de eventos KeyDown.
Me.KeyPreview = True Me.AutoScroll = Truethis.KeyPreview = true; this.KeyDown += new KeyEventHandler(Form1_KeyDown); this.AutoScroll = true;Establezca la propiedad AutoScrollPosition con el fin de desplazarse verticalmente por un número fijo de píxeles para que y señale la coordenada. En el ejemplo de código siguiente se utiliza 16. Tenga en cuenta que el código es complejo porque AutoScrollPosition tiene un desplazamiento de valores negativos, pero los valores de punto proporcionados se deben expresar como positivos.
Private Sub Form1_KeyDown(ByVal Sender As System.Object, _ ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown If e.KeyCode = System.Windows.Forms.Keys.Up Then Me.AutoScrollPosition = New Point(0, -Me.AutoScrollPosition.Y - 16) End If If e.KeyCode = System.Windows.Forms.Keys.Down Then Me.AutoScrollPosition = New Point(0, -Me.AutoScrollPosition.Y + 16) End If End Subprivate void Form1_KeyDown(object sender, KeyEventArgs e) { if ((e.KeyCode == System.Windows.Forms.Keys.Up)) { this.AutoScrollPosition = new Point(0, -this.AutoScrollPosition.Y - 16); } if ((e.KeyCode == System.Windows.Forms.Keys.Down)) { this.AutoScrollPosition = new Point(0, -this.AutoScrollPosition.Y + 16); }
Compilar el código
Para este ejemplo se requieren referencias a los siguientes espacios de nombres:
Vea también
Conceptos
.Temas "Cómo..." de .NET Compact Framework