Laden...

Form in den "sichtbaren Bereich" schieben

Erstellt von CaptainIglo vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.136 Views
C
CaptainIglo Themenstarter:in
366 Beiträge seit 2005
vor 16 Jahren
Form in den "sichtbaren Bereich" schieben

Hallo,

meine Anwendung merkt sich seine Position und stellt diese beim neurlichen Start wieder her.
Jetzt habe ich allerdings das Problem, dass wenn sich die Bildschirmanordnung/-auflösung ändert, das Programm im nicht sichtbaren Bereich "verschwindet".
Kann ich ein Form irgendwie automatishc in den sichtbaren Bereich schieben, sofern es auserhalb ist?

mfg

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo CaptainIglo,

nicht vollkommen automatisch, aber du kannst es Anhand von Form.Location/Size und Screen.WorkingArea ausrechnen.

herbivore

134 Beiträge seit 2007
vor 16 Jahren

Mahlzeit,

So habe ich es gemacht

            if ((YourName.Properties.Settings.Default.FormX < 0) || (YourName.Properties.Settings.Default.FormY < 0) || (YourName.Properties.Settings.Default.FormX > Screen.PrimaryScreen.WorkingArea.Height) || (YourName.Properties.Settings.Default.FormY > Screen.PrimaryScreen.WorkingArea.Width))
            {
                this.Location = new Point(10, 10);
            }
            else
            {
                this.Location = new Point(YourName.Properties.Settings.Default.FormX, YourName.Properties.Settings.Default.FormY);
            }

lg

B A L U

C
CaptainIglo Themenstarter:in
366 Beiträge seit 2005
vor 16 Jahren

...funktioniert aber alles nicht, wenn mehrere Monitore am PC hängen, denn genau da habe ich das Problem:
Wenn ein 2. Monitor angeschlossen wird und man mein Programm auf diesen verschiebt und beim nächsten Programmstart ist der Monitor nicht mehr da, ist das Programm immer noch auf diesem positioniert und somit nicht mehr nutzbar...

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo CaptainIglo,

gerade dann sollte es aber gehen.

Du hast alle Informationen, um das Problem zu lösen.

herbivore