C# WPF .Net 5.0 2. Bildschirm bekommen?
Hallo,
auf Google findet man leider nur Windows Forms DLL importieren oder wie man den Primary Screen bekommt.
Ich möchte in WPF .Net 5 den 2. Bildschirm haben, um den seine Größe / WorkingArea irgendwie zu bekommen.
Windows Forms ist nicht kompatibel, da es nicht Windows Forms, sondern .Net 5 WPF ist. Alles andere für Primary Screen bringt mir auch nichts.
Ich wollte schon aus C++ was importieren, aber selbst da wurde ich nicht fündig.
Wie bekomme ich die 2. Bildschirmgröße + WorkingArea?
2 Antworten
WPF selbst bietet keine mir bekannten Schnittstellen für die Abfrage von Mehrbildschirm-Auflösungen an.
Du musst dir also entweder wirklich etwas natives bauen, oder aber du bindest die Windows-Forms Bibliotheken dafür ein. Es spricht eigentlich nicht viel dagegen.
Dazu musst du in .NET 5 in der Projektdatei (.csproj) zusätzlich zu dem bereits bestehenden
<UseWPF>true</UseWPF>
noch die ähnliche Zeile für Windows Forms einfügen:
<UseWindowsForms>true</UseWindowsForms>
Nachdem du das Projekt neu geladen hast, kannst du System.Windows.Forms und damit die Screen Klasse verwenden.
Screen.AllScreens
gibt dir ein Array des Typs Screen[] zurück, in dem alle angeschlossenen Bildschirme als Screen-Objekt gespeichert sind. Auf allen enthaltenen Objekten kannst du dann
.bounds.width
bzw.
.bounds.hight
aufrufen.
Falsch, das ist für Windows Forms. Das ist in WPF .Net5 nicht verfügbar