C# Windows Forms - Anchor von Panel nach verschieben nicht mehr aktiv

palaber

Captain
Registriert
Juni 2006
Beiträge
3.856
Hallo Leute,

ich habe hier momentan ne Windows Forms Feschichte vor mir liegen. Das Programm hat zwei Ausführungsfälle.
Bei dem ersten klappt alles Super. Ich habe ein Panel und das wird über die Eigenschaften mit Anchor an die Setien gebunden. Kein Problem.
Im zweiten Strang muss ich aber das Panel vergrößern. Ich habe links mehr Platz und verändere die Location wie folgt:
Code:
Me.PanelMap.Location = New Point(125, Me.PanelMap.Location.Y)
So jetzt sitzt das Panel nicht mehr bei 500 sondern bei 125. Allerdings verschiebt sich das gesamte Panel. Die rechte Seite bleibt nicht angedockt am Bildschirmrand. Da die Anwendung auf verschiedenen Auflösungen läuft weiß ich natürlich nicht weit der Rand entfernt ist. Hat mir jemand nen Tipp?

Dinge wie Auflösung auslesen und dann anpassen möchte ich nur ungern. Eigentlich sollte der weg über Dock oder Anchor führen. Allerdings habe ich bisher noch keine Lösung gefunden.
 
Gibt doch die Parent Form als Objekt mit an das Panel.
Dann kannst du jederzeit die Breite des Parent auslesen und das Panel entsprechend Positionieren.

Sollte das Panel z.B. immer irgendwo angeordnet sein, dann implementierst du einfach eine Methode mit allen Voraussetzungen sowie Positionierungen und rufst diese bei einem Event des Parents auf (z.B. OnResize oder SizeChanged etc.).

mfg,
Max
 
Das wäre eine Möglichkeit, allerdings dachte ich an eine einfacherer Lösung mit weniger Aufwand. Da das Panel sich ja in der 1. Variante an die Größe anpasst, dachte ich, dass es über das setzen diverser Eigenschaften auch gehen sollte...

Edit:
War jetzt mal nicht faul und hab zwei Zeilen Code eingefügt :evillol:
Jetzt läuft es - anbei noch der Code:
Code:
Dim windowWidth = Me.DisplayRectangle.Size.Width
Me.PanelMap.Width = windowWidth - 120
 
Zuletzt bearbeitet:
Joah, man würde meinen dass die Implementierung über bereits vorhandene Ansätze "leichter" wäre.
Ich hab letztens selbst ein etwas komplexeres GUI Projekt hinter mich gebracht, in welchem ich etwa 12 Panels immer entsprechend der Größe anordnen musste.

Das war schon bissl ungewohnt, aber im Endeffekt ist es die Beste Lösung, da hierdurch viel mehr möglich ist.
Und "das" macht man eh nur ein mal ;) Dann is feddisch.

mfg,
Max
 
Zurück
Oben