Hallo Wissende,
ich stehe zurzeit vor dem Problem, eine Windows-Forms-Anwendung zu schreiben, die unter verschiedenen Bildschirm-Auflösungen immer „gut aussehen“ soll.
Dabei bekomme ich es nicht hin, dass die Property „AutoScroll“ einer Form ScrollBars zeigt, wenn ein Panel in der Form auf Dock.Fill steht.
Beispiel:
Man nehme eine neue Form und setze die Property „AutoScroll“ auf „True“.
In diese Form setze man ein Panel mit der Property „Dock“ auf „Top“.
Dann setze man in die Form ein zweites Panel mit der Property „Dock“ auf „Fill“ und der Property „MinimumSize“ auf „0; 100“.
Die Panels sollten verschiedene BackColors haben, um den nachfolgenden Effekt besser mitverfolgen zu können.
Wenn ich jetzt die Größe der Form in der Vertikalen ändere und so klein mache, dass nicht beide Panels in ihrer Mindesthöhe (Panel1 hat ja eine feste Höhe und Panel2 eine Mindesthöhe von 100) vollständig angezeigt werden können, würde ich erwarten, dass rechts ein ScrollBar erscheint. Das tut er jedoch nicht, bzw. erst dann, wenn auch das erste Panel nicht mehr vollständig angezeigt werden kann.
Ich halte das für einen Fehler im Layout-Verhalten und habe keine Idee, wie ich ein „Dock.Fill“ mit gleichzeitigem „AutoScroll“ des übergeordneten Containers sauber hinbekomme, ohne EventHandler für „SizeChanged“-Events selbst zu programmieren.
Hat einer einen Vorschlag?
Danke und Gruß
Thomas