Gestion dynamique des tailles des Forms

Signaler
Messages postés
1
Date d'inscription
mardi 30 mai 2006
Statut
Membre
Dernière intervention
26 janvier 2009
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Bonjour,
Je voudrais fixer une taille quand je clique sur l'icone agrandissement et une autre taille sur l'icone retour etat normal (WindowStateNormal).
Voilà ce que j'ai fais :
private

void xxxx_SizeChanged(
object sender,
EventArgs e){

Rectangle rect =
Screen.GetWorkingArea(
this);

switch (this.WindowState){

case
FormWindowState.Minimized:

break;

case
FormWindowState.Maximized:
if
((control.Size.Width != rect.Width || control.Size.Height != rect.Height) )

{

      control.Size =

new
Size(rect.Width, rect.Height);

}

break;

case
FormWindowState.Normal:

if ((control.Size.Width != 600 || control.Size.Height !=500) )

{

       control.Size = new Size(600, 500);

}

break;

}

Donc lorsque j'ai détecté un chagement de taille, je redéfinit la taille si elle n'est pas correcte.
ça fonctionne  pour FormWindowState.Maximized, mais pas pour FormWindowState.Normal.
Le soft tourne en boucle sur "control.Size = new Size(600, 500);"

lorsque l'évènement survient, on dirait qu'il me refuse la modification de taille.

Je vous remercie par avance pour l'aide que vous allez m'apporter.

1 réponse

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
87
Salut,

Si "control" est justement le contrôle sur lequel l'évènement est géré, ou si sa taille est liée (Anchor, Dock etc) à celle du contrôle en question, tu changes la taille dans le gestionnaire d'évènement lié à l'évènement qui te notifies un changement de taille, donc tu pars forcément dans une boucle plus ou moins sans fin.

/*
coq
MVP Visual C#
CoqBlog
*/