Pregunta

Estoy desarrollando aplicaciones móviles en C #. Estoy usando la funcionalidad de lanzamiento teclado para poner en marcha el teclado en el dispositivo móvil cuando uno de los cuadro de texto quedan enfocadas. Estoy utilizando el siguiente código.

private void inputPanel1_EnabledChanged(object sender, EventArgs e)
        {
            InputEnabled();
        }

        private void InputEnabled()
        {
            int y;

            if (inputPanel1.Enabled)
                // SIP visible - position label just above the area covered by the input panel  
                y = Height - inputPanel1.Bounds.Height;
            else
                // SIP not visible - position label just above bottom of form
                y = Height;

            // Calculate the position of the top of the label
            //y = y - mainPanel.Height;
            //this.Dock = DockStyle.Top;
            //mainPanel.Location = new Point(0, y);
            this.Size = new Size(this.Size.Width, y);
            this.AutoScroll = true;

            //this.AutoScrollPosition = new Point(this.AutoScrollPosition.X, descriptionTextBox.Location.Y);
        }

En el código anterior Estoy intentando cambiar la altura de las ventanas formar dinámicamente. He añadido punto de interrupción en mi solicitud. En la siguiente declaración

this.Size = new Size(this.Size.Width, y);

Me puede ver el valor de y se cambia a 180 en el lado derecho. Pero en el lado izquierdo el valor de este this.Size se mantiene sin cambios. Estoy totalmente inconsciente por qué ocurre esto. ¿Me podría decir algo malo en mi código o me puede proporcionar la solución para que el valor de la altura en la this.size comunicado en el lado izquierdo se cambia?

¿Fue útil?

Solución

Modificar el tamaño del formulario en una aplicación WinMobile podría ser complicado y preferiría evitar que si no es absolutamente necesario.

En este caso, en lugar de cambiar el tamaño de la forma que usted puede colocar sus controles en un panel y cambiar el tamaño del panel. También puede utilizar el enfoque para el uso de un panel de entrada de software aquí: http: //www.christec .co.nz / blog / archives / 42

  

Cambiar el tamaño del panel acoplado a la parte inferior   de la forma de ser la misma altura que   la SIP. Esto mueve otros controles   También acoplado a la parte inferior del formulario   para estar por encima del área cubierta por el   SIP.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top