OVH Cloud OVH Cloud

WinForm et paramètres d'affichage système

1 réponse
Avatar
Jmb
Bonjour,
Je développe une application WinForm avec Visual C#.NET 2003.
Je développe cette application sur 2 postes: un au bureau avec une police
normale(96ppp) et définition 1280*1024 et un à domicile avec une police large
(120ppp) et définition 1400*1050.
Lorsque je bascule mon projet d'un poste à l'autre, les contrôles dans les
formulaires sont mal positionnés à l'exécution, pour obtenir une position
correcte je doit ouvrir mon formulaire dans Visual en mode design et
recompiler.
J'ai remarqué que les propriétés des formulaires:
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(249, 237);
changeaient ainsi que la position des contrôles.

Que faut-il faire pour que mon application puisse être déployée sur des
postes indépendemment de leur configuration d'affichage?
Merci.

1 réponse

Avatar
David Scime
Le Fri, 6 Aug 2004 00:59:01 -0700, Jmb
a écrit :

Bonjour,
Je développe une application WinForm avec Visual C#.NET 2003.
Je développe cette application sur 2 postes: un au bureau avec une police
normale(96ppp) et définition 1280*1024 et un à domicile avec une police large
(120ppp) et définition 1400*1050.
Lorsque je bascule mon projet d'un poste à l'autre, les contrôles dans les
formulaires sont mal positionnés à l'exécution, pour obtenir une position
correcte je doit ouvrir mon formulaire dans Visual en mode design et
recompiler.
J'ai remarqué que les propriétés des formulaires:
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(249, 237);
changeaient ainsi que la position des contrôles.

Que faut-il faire pour que mon application puisse être déployée sur des
postes indépendemment de leur configuration d'affichage?
Merci.



Une piste serait utiliser les pourcentages pour le placement de tes
controles..

Exemple:

ton bouton doit etre positionné au milieu de ton form qui mesure 500
px de longueur. au lieu de placer ton bouton à 250.. place le à la
longueur de ton form - 50%..
--> form.Width - ((form.Width*50)/100) = 250

dans ce cas
--> 500 - ((500*50)/100) = 250

Attention tu dois faire cela à chaque redimensionnement de ta
fenetre..


David Scime