Centrer une form à l'écran [Résolu]

ericdu93 56 Messages postés dimanche 1 août 2004Date d'inscription 28 août 2008 Dernière intervention - 6 mars 2008 à 19:34 - Dernière réponse :  Le programmeur Breton
- 17 nov. 2017 à 10:30
Bonjour,

j'ai un premier form qui s'affiche par défaut en haut à gauche (sans être collé au bord), lorsque dans cette fenetre j'ouvre une deuxème fenetre (j'instancie une nouvelle form), celle ci est placé aussi à l'endroit de la 1ère fenetre mais décalé de 20pixel je dirais vers la droite et vers le bas.

donc finalement je me dis autant afficher les deux fenêtres au millieu mais comment faire ? J'ai pensé à faire quelque chose comme ca:

 frm.Top = Screen.Height / 2 - frm.Height / 2
 frm.Left = Screen.Width / 2 - frm.Width / 2

or je n'ai pas accès à la propriété Height ni à Width lorsque je fais Screen.

Merci d'avance.
Afficher la suite 

7 réponses

Répondre au sujet
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 6 mars 2008 à 19:51
+3
Utile
1
et pourquoi ne pas utiliser la propriété StartPosition = FormStartPosition.CenterParent;

(ou CenterScreen)

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Le programmeur Breton - 17 nov. 2017 à 10:30
Merci Beaucoup, effectivement c'est une excellente réponse.
Commenter la réponse de sebmafate
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 6 mars 2008 à 20:44
+3
Utile
dans le designer il suffit de mettre la bonne valeur dans le propertygrid...

ou alors, si tu veux le faire dans le code, tu le fais dans le constructeur

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate
ericdu93 56 Messages postés dimanche 1 août 2004Date d'inscription 28 août 2008 Dernière intervention - 6 mars 2008 à 20:28
0
Utile
Merci ca marche lorsque j'instancie une nouvelle form.

Par contre quand c'est ma première form qui démarre, j'utilise bien la propriété StartPosition dans le Load de la form, ca ne marche pas, pourquoi ?
Commenter la réponse de ericdu93
benpolice 4 Messages postés dimanche 20 novembre 2005Date d'inscription 16 mai 2011 Dernière intervention - 4 juin 2009 à 14:00
0
Utile
il suffit de surcharger le OnLoad() de ton formulaire

protected override void OnLoad(EventArgs e)
        {
            base.OnLoad (e);

            this.Location = new System.Drawing.Point(
                System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width / 2 - Width / 2,
                System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height / 2 - Height / 2);

        }
Commenter la réponse de benpolice
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 4 juin 2009 à 14:12
0
Utile
hmm... c'était bon en VB6 ça !

aujourd'hui on utilise des outils modernes !

Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 4 juin 2009 à 14:32
0
Utile
lol

<hr />
-Blog-
-Site Perso-
Commenter la réponse de cs_Bidou

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.