Come ridimensionare le finestre formano dinamicamente in applicazione mobile?
-
28-09-2019 - |
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?
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.