Transparente Kontrolle über PictureBox
In meinem C# Form habe ich ein Label zeigt, dass ein download-Anteil in die download-Falle:
this.lblprg.Text = overallpercent.ToString("#0") + "%";
Dem Label-Steuerelement die BackColor-Eigenschaft festgelegt ist, transparent zu sein und ich möchte es angezeigt, über eine PictureBox. Aber das scheint nicht zu funktionieren richtig, ich sehe einen grauen hintergrund, sieht es nicht transparent, die oben auf dem Bild-Feld. Wie kann ich dieses Problem beheben?
InformationsquelleAutor der Frage Derezzed | 2012-02-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das Label-Steuerelement unterstützt Transparenz. Es ist nur so, dass die designer nicht lassen, platzieren Sie das Etikett richtig. Das PictureBox-Steuerelement ist nicht ein container-Steuerelement, damit die Form wird das übergeordnete Element des Labels. Sie sehen also, die form-hintergrund.
Es ist einfach zu beheben, indem ein Stück code, um das Formular-Konstruktor. Sie müssen die Bezeichnung ändern, die Parent-Eigenschaft und berechnen Sie die Lage da ist es jetzt relativ zu dem Bild-Feld anstelle der form. Wie diese:
Sieht aus wie diese zur Laufzeit:
Anderen Ansatz zu lösen, die design-Zeit-problem. Das dauert nur ein Attribut. Fügen Sie einen Verweis auf System.Design und fügen Sie eine Klasse zu Ihrem Projekt, fügen Sie den folgenden code:
InformationsquelleAutor der Antwort Hans Passant
Können Sie einfach
InformationsquelleAutor der Antwort Fusion_
Können Sie zeichnen, text über die TextRenderer-zeichnen es ohne hintergrund:
Wenn overallpercent Wert ändert, aktualisieren pictureBox:
Können Sie auch Grafiken verwenden.DrawString aber TextRenderer.DrawText (GDI) ist schneller als die DrawString (GDI+)
Schauen Sie auch unter eine andere Antwort hier und DrawText Referenz hier
InformationsquelleAutor der Antwort Maciej D.
Für einfach für Ihr design.
Sie können Ihre Aufkleber auf der Innenseite einer Platte. und legen Sie hintergrund-Bild von panel ist, was jedes Bild, das Sie wollen. set label-hintergrund transparent ist
InformationsquelleAutor der Antwort Grey Wolf
Mithilfe von Visual Studio mit Windows-Formular können Sie Transparenz anwenden, um Etiketten oder andere Elemente durch das hinzufügen mit System.Zeichnung; in Form1.Designer.cs auf Diese Weise haben Sie Transparenz zur Verfügung, die aus dem Bedienfeld "Eigenschaften" ( im Aussehen an BackColor ). Oder einfach nur code Bearbeiten im Designer.cs .label1.BackColor = System.Zeichnung.Farbe.Transparent;
InformationsquelleAutor der Antwort Andrei Magic