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

Messages postés
56
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
28 août 2008
- - 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 

6 réponses

Meilleure réponse
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
3
Merci
et pourquoi ne pas utiliser la propriété StartPosition = FormStartPosition.CenterParent;

(ou CenterScreen)

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

-
Merci Beaucoup, effectivement c'est une excellente réponse.
Commenter la réponse de sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
3
Merci
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]

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de sebmafate
Messages postés
56
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
28 août 2008
1
0
Merci
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
Messages postés
4
Date d'inscription
dimanche 20 novembre 2005
Statut
Membre
Dernière intervention
16 mai 2011
0
Merci
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
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
0
Merci
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
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
41
0
Merci
lol

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