Als ik een picturebox met een transparant plaatje op een form zet dan heeft het gedeelte dat transparant moet zijn in het plaatje toch een kleur. Je ziet dus niet de controls die er onder zitten er doorheen. Ik heb de background kleur van de picturebox ook op transparent gezet en het plaatje dat ik in de picturebox doe is een transparante PNG.
Op internet vindt ik wel allerlei oplossingen voor andere controls om ze "echt" transparant te maken, door een user control te maken onderandere de OnPaintBackground te overriden, maar die werken niet voor een picturebox.
Erg lastig in ieder geval.
Weet iemand hoe dit moet ?
Op internet vindt ik wel allerlei oplossingen voor andere controls om ze "echt" transparant te maken, door een user control te maken onderandere de OnPaintBackground te overriden, maar die werken niet voor een picturebox.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| protected override CreateParams CreateParams { get { CreateParams cp=base.CreateParams; cp.ExStyle|=0x00000020; //WS_EX_TRANSPARENT return cp; } } protected void InvalidateEx() { if(Parent==null) return; Rectangle rc=new Rectangle(this.Location,this.Size); Parent.Invalidate(rc,true); } protected override void OnPaintBackground(PaintEventArgs pevent) { //do not allow the background to be painted } |
Erg lastig in ieder geval.
Weet iemand hoe dit moet ?