Ganzen Panel-Inhalt "ausgrauen"

30/07/2008 - 13:55 von Ralf Kaiser | Report spam
Hallo,

Ich habe mehrere Panles die Labels, Buttons Dropdowns usw. enthalten. Diese
Panels werden nacheinander wàhred der Benutzer arbeitet auf "Enabled = true"
geschaltet (vorher sind alle bis aufs erste auf "false" gesetzt)

Wenn die Panels auf "Enabled = False" geschaltet sind dann werden normale
Kontrollelemente wie Buttons schön brav in grau dargestellt. Allerdings
behalten Elemente wie z.B. Labels ihre normale Farbe.

Ich würde nun gerne ALLE Elemente so darstellen, dass sie den aktuellen
Zustand des Panels wiedergeben. Bisher mache ich das, indem ich allen
Unterelementen eine von 2 CSS-Klassen zuweise:

Label1.CssClass="classDisabled"
Label2.CssClass="classDisabled"
Label3.CssClass="classDisabled" usw.

Das ist natürlich, obwohl der optische Effekt da ist, eigentlich nicht so
optimal.

Hat jemand einen Tip, wie ich irgendwie ein "Overlay" über das komplette
Panel legen könnte so dass alle Elemente gleich "angegraut" dargestellt
werden? Ich hatte schon an ein halb-transparentes GIF oder PNG gedacht aber
wenn ich so etwas als Hintergrund nehme erscheint es, wen wunderts, HINTER
den Controls. :-)

Irgendwelche Ideen??

Danke schon mal,
Ralf
 

Lesen sie die antworten

#1 Harald M. Genauck
30/07/2008 - 15:00 | Warnen spam
Hallo Ralf,

Ich habe mehrere Panles die Labels, Buttons Dropdowns usw. enthalten.
Diese Panels werden nacheinander wàhred der Benutzer arbeitet auf
"Enabled = true" geschaltet (vorher sind alle bis aufs erste auf
"false" gesetzt)

Wenn die Panels auf "Enabled = False" geschaltet sind dann werden
normale Kontrollelemente wie Buttons schön brav in grau dargestellt.
Allerdings behalten Elemente wie z.B. Labels ihre normale Farbe.

Ich würde nun gerne ALLE Elemente so darstellen, dass sie den
aktuellen Zustand des Panels wiedergeben. Bisher mache ich das, indem
ich allen Unterelementen eine von 2 CSS-Klassen zuweise:

Label1.CssClass="classDisabled"
Label2.CssClass="classDisabled"
Label3.CssClass="classDisabled" usw.

Das ist natürlich, obwohl der optische Effekt da ist, eigentlich
nicht so optimal.



Warum sollte das nicht optimal sein? Über unterschiedliche CSS-Klassen
zu gehen ist m.E. der einzige Weg.

Wenn zwischen den einzelnen Umschaltungen ein PostBack erfolgt,
brauchst Du allerdings nicht den einzelnen Elementen andere Klassen
zuweisen, sondern lieferst einfach eine andere css-Datei, in der die
Klassen zwar gleich heißen, aber andere Stile (eben grau usw.) haben.


Viele Grüße

Harald M. Genauck

"VISUAL STUDIO one" - http://www.visualstudio1.de (Chefredakteur)
"ABOUT Visual Basic" - http://www.aboutvb.de (Herausgeber)

Ähnliche fragen