Domanda

Sto sviluppando applicazioni mobile in C #. Sto usando la funzionalità di avvio della tastiera per lanciare la tastiera sul dispositivo mobile quando uno della casella di testo ottiene concentrati. Sto usando il seguente codice.

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);
        }

Nel codice di cui sopra sto cercando di modificare l'altezza delle finestre formare in modo dinamico. Ho aggiunto punto di interruzione nella mia applicazione. Nella seguente dichiarazione

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

I può vedere il valore di y viene cambiato in 180 nel lato destro. Ma nella parte sinistra il valore di questo this.Size rimane invariato. Io sono totalmente all'oscuro perché questo sta accadendo. Puoi dirmi qualcosa di sbagliato nel mio codice o mi puoi fornire la soluzione in modo che il valore dell'altezza nella this.size dichiarazione sul lato sinistro viene cambiato?

È stato utile?

Soluzione

Modifica della dimensione del modulo in un'applicazione WinMobile potrebbe essere difficile e vorrei volentieri a meno se non assolutamente necessario.

In questo caso, invece di ridimensionare il form è possibile inserire i controlli in un pannello e ridimensionare il pannello. È inoltre possibile utilizzare il metodo per l'utilizzo di un pannello di input morbido qui: http: //www.christec .co.nz / blog / archives / 42

  

Ridimensionare il pannello ancorato al fondo   della forma di essere la stessa altezza   il SIP. Questo sposta altri controlli   anche agganciato alla parte inferiore del modulo   al di sopra della zona coperta dal   SIP.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top