Laden...

Diskrepanz Z-Order zwischen Dokumentenstruktur, Designer und Laufzeit

Erstellt von ismirschlecht vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.213 Views
I
ismirschlecht Themenstarter:in
45 Beiträge seit 2012
vor 9 Jahren
Diskrepanz Z-Order zwischen Dokumentenstruktur, Designer und Laufzeit

Hallo Ihr,

ich arbeite mit VS2010 und habe
folgendes Problem:

  • ich lege ein Formular an und fülle es im Designer mit diversen Panels, von oben nach unten:
    [Titel]
    [Zweig A]
    [Zweig B]
    [Zweig C]
    [Formularfuss]

Die Panels Titel ... Zweig C sind Top-gedockt, der Fuss Bottom-gedockt.
Zu Anfang sind nur Titel und Fuß sichtbar.
Wenn ich jetzt im Programmverlauf zuerst Zweig A und (zeitlich) danach Zweig B sichtbar mache, kann es passieren, daß sich Zweig B an Zweig A vorbeischiebt.
Die Reihenfolge Zweig B ---> Zweig A sichtbar würde die optische Katastrophe beheben, ist aber von der Programmlogik nicht möglich (Nur wer A sagt...)
Hat die IDE hier eine leichte Meise ?
Oder gibts da im OI Eigenschaften, die ich einstellen könnte.
Rummachen in der Dokumentenstruktur bringt nichts, da liegen sie ja richtig.

Gibt es eine Möglichkeit, die Z-Indexe der Panels auszulesen ?
Da Bringtofront() und Sendtoback() ja eine Permutationsbasis bilden könnte ich so jede gewünschte Reihenfolge herstellen - als Notmaßnahme.
ism

(PS: Bin ab morgen erstmal offline)

4.221 Beiträge seit 2005
vor 9 Jahren

Wie wäre es mit:

Panels sichtbar lassen aber mit Höhe 0 ?

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

M
198 Beiträge seit 2010
vor 9 Jahren

vielleicht muss man die Panel nich in den Vordergrund bringen?

S
145 Beiträge seit 2013
vor 9 Jahren

Ich kenne ebenfalls das problem und bin gerade am überlegen.
Ich glaube anstelle von Panels, wenn ich da UserControls verwendete, hatte ich das phänomen nicht, bin mir da aber grad nicht mehr so sicher.

Die Option mit Höhe 0 wäre für mich damals nicht möglich gewessen, da bei mir die Panels/UserControls selbst einige auf AutoSize standen.

4.221 Beiträge seit 2005
vor 9 Jahren

Ev. mit FlowLayoutPanels arbeiten... oder zwischen den Panels einen Splitter (Enabled=false) einfügen.

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

I
ismirschlecht Themenstarter:in
45 Beiträge seit 2012
vor 9 Jahren

Danke erstmal.
Da es ein "geerbtes" Programm ist kann ich die Struktur nicht mehr verändern.
Jetzt habe ich es mit mehreren Bringtofront() gelöst, ist aber ne Prothese.
Gruß ism

49.485 Beiträge seit 2005
vor 9 Jahren