Erstelle ich einen transparenten hintergrund auf einem PictureBox-Steuerelement in WinForms?
Möchte ich den hintergrund von einem PictureBox
Kontrolle transparent. In der PictureBox
(rechteckige Form), legte ich ein Symbol (Runde Form). Ich möchte, um das Symbol transparent, so dass der andere Teil unter dem Symbol sichtbar ist.
Ich habe versucht Einstellung der PictureBox.BackColor
Eigenschaft "Transparent", aber es funktioniert nicht. Ich habe auch versucht, um es während der Laufzeit mit der Color.FromArgb
Methode, aber es funktioniert auch nicht.
Gibt es eine Lösung für dieses problem?
- Was genau ist unter dem picturebox-Steuerelement, das Sie wollen, um sichtbar zu werden?
- versuchen Sie dies: stackoverflow.com/questions/4777203/...
- Diese Frage bekommt eine Menge gefragt. Siehe: C#, wie man ein Bild hintergrund transparent? und Ein PictureBox-Problem, unter vielen, vielen anderen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einstellung
pictureBox.BackColor = Color.Transparent;
sollte auf jeden Fall funktionieren.Überprüfen Sie auch, wenn Sie den alpha-Kanal der Farbe, wenn mit
Color.FromArgb(0, 0, 0, 0)
; (dies ist der erste parameter, die null bedeutet " transparente Farbe)Und, natürlich, stellen Sie sicher, dass Ihre Symbole haben transparenten hintergrund.
Wenn mit
WinForms
dann die Einstellung der Hintergrundfarbe, die transparent wird nicht funktionieren, da die Handhabung von Transparenz ist nicht in einem kaskadierenden system - Sie können nur (in den meisten Fällen) legen Sie die Transparenz (oder eher die Deckkraft) einer Kontrolle insgesamt mit derOpacity
Eigenschaft, jedoch ist diese Veränderung der alpha-Kanal der gesamten control display gibt Ihre Bilder sehen-througness.Einer Lösung sein könnte, um die Hintergrundfarbe des
PictureBox
zu sein, dass die Kontrolle darunter (die Farbe des Formulars, zum Beispiel). Aber das kann nicht ausreichen, in Ihrer situation.Label
zum Beispiel (und offenbar fürPictureBox
. Zugegeben, dass ich verwendetPictureBox
interchangeabley für beide frameworks, entfernen Sie meine Referenzen, woWPF
sowieso.Label
- und/oderPictureBox
funktioniert Prima in dieser Art und Weise? Als sanity-check ich einfach ein Projekt erstellt, um zu testen und einstellenTransparent
als hintergrund für entweder verlässt einfach beide regler mit einemControl
(siehe: Grauen) hintergrund.Red
- und overlay-zwei labels, sehen Sie die top-labelRed
hintergrund, über das ein unter. speedyshare.com/files/26839879/WindowsApplication5.zipLabel
über das kleine SymbolPictureBox
dann werden Sie sehen das scheitern.Hallo, müssen Sie das Symbol auf dem anderen Teil unter dem Symbol durch die Nutzung dieser
icon_pictureBox_name.Controls.Add(other_portion_picturBox_name);
und danach können Sie die PictureBox.BackColor-Eigenschaft "Transparent" und es wird funktionieren 😉