Tipp der Woche
24.03.2022, 09:08 Uhr
WPF/VB: Fenster auf dem richtigen Monitor starten
Das Notebook steht links, der große Monitor rechts daneben. Die Anwendung soll auf dem großen Monitor starten – außer wenn der Anwender unterwegs arbeitet und kein zweiter Monitor angeschlossen ist.
Dass viele Anwendungen mit dem Einsatz eines zweiten (oder dritten) Monitors nicht klarkommen, ist lästig. Auch die Automatik von Windows ist nicht immer hilfreich. So habe ich zum Beispiel eine TV-App auf dem Rechner, die regelmäßig auf dem rechten Monitor startet. Ist dieser allerdings nicht angeschlossen ... startet sie trotzdem rechts, da kann man sie allerdings nicht sehen und muss sie umständlich nach links holen.
Für einen Start auf dem richtigen Bildschirm hilft der nachfolgende Code, der die Gesamt-Auflösung der Bildschirme ermittelt und daraufhin die linke obere Ecke des Fensters bestimmt. Angenommen wird dabei, dass das Notebook eine Full-HD-Auflösung (1920 x 1080 Pixel) hat.
' Visual Basic .NET
Private Sub MainWindow_Loaded(...) Handles Me.Loaded
...
Me.Top = 150
If SystemParameters.VirtualScreenWidth > 2000 Then
Me.Left = 2250
Else
Me.Left = 250
End If
...
End Sub
Welche weiteren Informationen die Klasse SystemParameters (Namespace:
System.Windows) noch für Sie bereitstellen kann, erfahren Sie hier.