Zeichnen mit Layern

13/05/2008 - 12:22 von Simon Schäberle | Report spam
Hallo zusammen,

ich möchte gern einem User ermöglichen auf verschiedenen Ebenen zu
zeichnen und Ebenen ein bzw. auszublenden.
Dazu habe ich Testweise mehrere PictureBox-Objekte auf eine Form
gelegt, jeweils mit BackColor = Color.Transparent. In der Reihenfolge
in der die PictrueBoxen angelegt werden, werden Sie der gerade oberen
PictrueBox hinzugefügt.
PictreuBox enthàlt als Control eine PictrueBox,

Nun werden aber keine Zeichnungen auf den Unterebenen angezeigt. Zum
Test habe ich der untersten Ebene ein Bild hinzugefügt, alle
PictreuBoxen sind transparent.

Kann mir jemand ein bischen den Weg weisen?

Gruß
Simon
 

Lesen sie die antworten

#1 Frank Dzaebel
13/05/2008 - 14:40 | Warnen spam
Hallo Simon,

ich möchte gern einem User ermöglichen auf verschiedenen Ebenen zu
zeichnen und Ebenen ein bzw. auszublenden.
Dazu habe ich Testweise mehrere PictureBox-Objekte auf eine Form
gelegt, jeweils mit BackColor = Color.Transparent.



Gehe zum Beispiel so vor:

pictureBox2.Parent = pictureBox1;
pictureBox3.Parent = pictureBox2;

Dann noch die Location Eigenschaft anpassen,
denn diese ist dann im Parent links oben auf [0,0].

Es gibt einige weitere Möglichkeiten, etwa:
CreateParams cp = base.CreateParams;
cp.ExStyle |= WS_EX_TRANSPARENT; // etc.

Ansonsten einfach nach:
transparent PictureBox C#
im Netz suchen, dort werden weitere
Implementations-Vorschlàge genannt,
wenn es denn noch nötig ist.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen