Bonjour,
Je rencontre un problème pour savoir quel écran est actif au démarrage de mon appli.
Mon but est de lancer mon application dans le même écran que celui où se trouve l’icône qui la lance sur le bureau.
J'ai deux écrans.
L'icône est sur l'écran 2.
Au démarrage j'ouvre une splash screen qui se lance, elle, correctement sur l'écran où se trouve l'icône de l'appli (en l’occurrence sur l'écran 2) mais la form principale toujours sur l'écran 1.
L'écran actif est donc bien reconnu pour la splash screen.
Je la déplace dans l'écran 1, elle s'ouvre dans l'écran 1.
Pourquoi l'écran change-t-il ensuite ?
Comment faire pour indiquer le bon écran au lancement de ma main form ?
J'utilise une méthode trouvée sur le net :
avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 private void CenterOnSecondMonitor(object sender) { var form = (Form)sender; var area = Screen.AllScreens.Length > 1 ? Screen.AllScreens[1].WorkingArea : Screen.PrimaryScreen.WorkingArea; form.Location = new Point(((area.Width - form.Width) / 2) + area.X, (area.Height - form.Height) / 2); }
Sauf que cette méthode force le démarrage toujours sur l'écran 2 quand il existe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 private void MainForm_Load(object sender, EventArgs e) { ShowLoadGif(); CenterOnSecondMonitor(sender); // etc etc ... }
Ce n'est pas ce que je souhaite.
Merci !
Partager