Laden...

Docking, seltsam..

Letzter Beitrag vor 17 Jahren 5 Posts 1.471 Views
Docking, seltsam..

Mahlzeit.

Ich habe folgendes in einem Form (schematisch):


----------------------------|
|UserControl       | Panel  |
|                  |        |
|                  |        |
----------------------------|

Wenn ich das UserControl auf DockStyle.Fill und das Panel auf DockStyle.Right stelle, dann passiert das was ich erwarte: Das Panel hat eine feste Breite, das UserControl frisst den Rest.
Wenn ich es umgekehrt mache (UserControl DockStyle.Left, Panel DockStyle.Fill), dann waechst das Panel auf Formgroesse und liegt damit zum grossen Teil unter meinem UserControl.
Warum?

Danke im voraus, ich gehe zu ich bin auf diesem GUI Gebiet eher weniger beschlagen..

Edit: "Schema" angepasst..

Pound for pound, plutonium is about as toxic as caffeine when eaten.

Hallo DarKlajid,

Stichwort hierzu ist die Z-Order. MS hat das wohl dämlich implementiert. Du musst gerade was das Docking Verhalten angeht arg aufpassen, was in der Z-Order vorne steht, was hinten.

Verwendest Du VS? Dann kann ich Dir unter "View->Other Windows->Document Outline" empfehlen (oder Ctrl+W->U).

Dort kann man das Element anklicken und auch die Z-Order anhand Pfeil-Oben Pfeil-Unten beeinflussen und im Designer gleich das Ergebnis betrachten.

Weitere Stichworte wären hier Control.BringToFront() oder Control.SendToBack().

Gruß
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

Danke fuer die fixe Reaktion. Werde ich mich direkt mal mit beschaeftigen, obwohl ich den Zusammenhang zwischen vorne/hinten und nebeneinander nicht so wirklich begreife gerad..

Pound for pound, plutonium is about as toxic as caffeine when eaten.

Das Dockingverhalten kannst du notfalls auch mit Anchor simulieren, auch wenn das etwas mehr Arbeit macht. Lösen tust du das Problem zwar nicht wirklich, aber du kriegst ganz brauchbare Ergebnisse...

Hallo DarKlajid,

siehe auch vordrängelnde Controls (Control.Dock)

herbivore