Je développe une application mobile en C#. J'utilise la fonctionnalité de lancement du clavier pour lancer le clavier sur l'appareil mobile lorsque l'une des zones de texte est ciblée. J'utilise le code suivant.Comment redimensionner dynamiquement le formulaire Windows dans une application mobile?
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);
}
Dans le code ci-dessus, j'essaie de modifier dynamiquement la hauteur de la fenêtre. J'ai ajouté un point d'arrêt dans ma demande. Dans l'énoncé suivant
this.Size = new Size(this.Size.Width, y);
Je peux voir que la valeur de y est modifiée à 180 dans le côté droit. Mais dans le côté gauche, la valeur de ce this.Size reste inchangé. Je ne sais absolument pas pourquoi cela arrive. Pouvez-vous s'il vous plaît me dire quelque chose ne va pas dans mon code ou pouvez-vous me fournir la solution de sorte que la valeur de la hauteur dans la déclaration this.size sur le côté gauche soit modifiée?
Et un autre lien sur le sujet: http://stackoverflow.com/questions/2266518/how-to-automatically-resize-a-windows-mobile-application-when-the-keyboard-appear – Yakimych