Gli schermi multipli sono un po 'un problema e non hanno un modo integrato e ben strutturato per gestirli, ma con un po' di matematica e SystemParameters puoi farlo.
Se posizioni la finestra nella posizione (0,0) che sarebbe l'angolo in alto a sinistra della schermata principale. Quindi, al fine di rendere la vostra finestra appaiono al centro di tale uso dello schermo:
this.Left = (SystemParameters.PrimaryScreenWidth/2) - (this.ActualWidth/2);
this.Top = (SystemParameters.PrimaryScreenHeight/2) - (this.ActualHeight/2);
L'idea di base è abbastanza semplice quindi non c'è bisogno di spiegare.
Nota questo codice è per C#, ma sono sicuro che VB ha qualcosa di simile.
Si noti inoltre che è necessario utilizzare la proprietà ActualWidth \ ActualHeight e non la proprietà Width \ Height in quanto potrebbe contenere un valore NaN.
Buona fortuna.
fonte
2009-09-08 12:55:20
+1, buona domanda. Dovevamo anche lavorare con wpf attraverso Citrix e combattere anche i problemi di centratura/massimizzazione e Citrixes di wpf! :) – Russell