Forum: PC-Programmierung VB.net Pictureboxen und die Transparenz


von Technick (Gast)


Lesenswert?

Hallo liebe Leser!

Ich habe folgendes problem was mich schon seit 2 wochen beschäftigt:

Ich habe eine Picturebox1, in der ein bild von einem Haus ist.

mit einem klick auf eine checkbox1 wird die picturebox2 aktiv und zeigt 
ein bild von einem leuchtenden fenster auf der Picturebox1.

kurz: ich klicke auf die ckeckbox und das licht an dem fenster geht an.


Mein Problem:

Ich will dass wenn man auf die picturebox2 klickt diese transparent 
wird, und beim erneuten klick wieder aktiv wird.

Als erstes hatte ich versucht ein Transparentes bild zu nehmen, aber der 
hintergrund bleibt weiß.

Code:

  PictureBox4.Image = Image.FromFile(My.Application.Info.DirectoryPath & 
"\Main\Images\Transparent.png")
                        PictureBox4.BackColor = Color.Transparent
                        'PictureBox4.BringToFront()


Danke für eure Hilfe!

von Simon L. (dfgh)


Lesenswert?

Mach doch die Picturebox unsichtbar, geht in der Regel mit 
PictureBox2.Visible = false oder ####.hide() (kann hier natürlich auch 
anders heißen)

von Technick (Gast)


Lesenswert?

danke für die antwort.

wenn ich die picturebox2 unsichtbar machen dann kann ich diese ja nicht 
mehr anklicken;)

von cosmowave (Gast)


Lesenswert?

Warum machst du nicht eine "toggle" Funktion?
Bei klick auf picturebox1 schaltet sich picterebox2 ein und aus.

Ungefähr so:
private Sub picturebox1_klick
    if picturebox2.visible = false then
        picturebox2.visible = true
    else picturebox2.visible = false
end sub

eventuell müsste das "Ausschalten" von picturebox2 separat gemacht 
werden. Da du ja auf picturebox2 klickst wenn diese visible ist!

Ungefähr so:
Private Sub picturebox1_klick
    picturebox2.visible = true
End Sub

Private Sub picturebox2_klick
    picturebox2.visible = false
End Sub

Viel Glück

von cosmowave (Gast)


Lesenswert?

Und übrigens:
Um den Hintergrund einer picturebox transparent zu machen muss man die 
"BackStyle"- Eigenschaft verwenden! -> Wert 0 = transparent

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.