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

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

Votre réponse

7 réponses

Meilleure réponse
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 6 mars 2008 à 19:51
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]

Merci sebmafate 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Le programmeur Breton - 17 nov. 2017 à 10:30
Merci Beaucoup, effectivement c'est une excellente réponse.
Commenter la réponse de sebmafate
Meilleure réponse
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 6 mars 2008 à 20:44
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]

Merci sebmafate 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de sebmafate
Messages postés
56
Date d'inscription
dimanche 1 août 2004
Dernière intervention
28 août 2008
- 6 mars 2008 à 20:28
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
Dernière intervention
16 mai 2011
- 4 juin 2009 à 14:00
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
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 4 juin 2009 à 14:12
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
Dernière intervention
20 juin 2013
- 4 juin 2009 à 14:32
0
Merci
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.