Hallo,
wie kann ich feststellen, dass ein Fenster auf einen anderen Bildschirm verschoben worden ist?
Hintergrund ist, dass ich dann ja ggf. die Fenstergröße an die geänderte Bildschirmauflösung anpassen muss.
Vielen Dank für eure Hilfe
Christoph
Hintergrund ist, dass ich dann ja ggf. die Fenstergröße an die geänderte Bildschirmauflösung anpassen muss
Wozu denn das ? Wenn ich ein Fenster auf den anderen Monitor verschiebe soll die Größe so bleiben wie sie ist.
Will ich das Windows im Vollbild sehen muss ich es auf dem zweiten Monitor eh nochmal auf Vollbild umschalten.
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Move Event abonnieren und merken auf welchem Bildschirm das Fenster bisher war.
Oder das Fenster maximieren.
Oder es dem Benutzer überlassen. Die meisten Fenster erwartet man wahrscheinlich unverändert, wenn man sie auf einen anderen Bildschirm zieht.
Du kannst auf die Ereignisse Size und Move reagieren. Allerdings verstehe ich nicht, was die 'Bildschirmauflösung' und das Layout Deines Fensters mit dem Bildschirm zu tun haben, auf dem das Fenster dargestellt wird...
Hallo SlyFox,
ein Fenster kann sich ja auch zu einem beliebigen Prozentsatz auf dem einen und zum restlichen Prozentsatz auf dem anderen Bildschirm befinden. Was soll in diesem Fall passieren? Oder mit anderen Worten, wie genau definierst du "wurde auf einen anderen Bildschirm verschoben"?
Oder geht es dir darum, dass ein Fenster nie über die Grenzen des (gesamten) Desktops herausragen soll, egal auf welchem Bildschirm es sich gerade befindet?
herbivore
Eventuell hilft Dir die Klasse Screen etwas weiter:
Damit kannst Du schon mal abfragen ob mehr als ein Bildschirm angeschlossen ist:
if (Screen.AllScreens.Length > 1)
{
// Es sind mehr als 1 Bildschirm angeschlossen
}
Es sind einige Methoden und Properties vorhanden die Dir von Nutzen sein könnten...