Comment redimensionner les fenêtres forment dynamiquement en application mobile?
-
28-09-2019 - |
Question
Je développe l'application mobile en C #. J'utilise la fonctionnalité de lancement du clavier pour lancer le clavier sur l'appareil mobile lorsque l'un des textbox obtient concentré. Je suis en utilisant le code suivant.
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, je suis en train de changer la hauteur des fenêtres forment dynamiquement. J'ai ajouté à mon point d'arrêt application. Dans l'instruction suivante
this.Size = new Size(this.Size.Width, y);
Je peux voir la valeur de y est changée à 180 dans le côté droit. Mais dans la partie gauche de la valeur de cette this.Size reste inchangée. Je suis totalement ignorant pourquoi cela se passe. Pouvez-vous s'il vous plaît me dire quelque chose de mal dans mon code ou pouvez-vous me fournir la solution pour que la valeur de la hauteur dans la déclaration sur le côté gauche this.size est changée?
La solution
Modification de la taille de la forme dans une application WinMobile pourrait être difficile et je préfère l'éviter sinon absolument nécessaire.
Dans ce cas, au lieu de redimensionner la forme, vous pouvez placer vos commandes dans un panneau et redimensionner le panneau. Vous pouvez également utiliser l'approche pour l'utilisation d'un panneau d'entrée souple ici: http: //www.christec .co.nz / blog / archives / 42
Redimensionner le panneau ancré au fond de la forme à la même hauteur que le SIP. Cela déplace d'autres contrôles également ancrée au fond de la forme au-dessus de la zone couverte par la SIP.