Transparentes Label

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von programmer_girl.

    Transparentes Label

    Guten Tag,

    ich habe in meinem Programm eine Picturebox, über diese ich gerne ein Label setzen würde.
    Nur leider sieht es mit dem grauen oder weißen hintergrund nicht besonders gut aus.

    Gibt es eine möglichkeit das Label Transparent zu machen, das nur der Text zu sehen ist und keine umrandung oder ähnliches ?

    Danke für die hilfe.
    hallo kh@os,

    transparent ist dein label schon - da brauchst du nichts machen.

    hättest du dein bild in

    VB.NET-Quellcode

    1. Me.Backgroundimage

    wäre dein label automatisch transparent.

    für deinen fall, sähe eine mögliche lösung so aus.

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    3. Me.Label1.Parent = Me.PictureBox1
    4. End Sub
    5. Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
    6. Using b As New Bitmap(Me.Label1.Width, Me.Label1.Height)
    7. Dim g As Graphics = Graphics.FromImage(b)
    8. g.DrawImage(Me.PictureBox1.Image, New Rectangle(New Point(0, 0), Me.Label1.Size), New Rectangle(Me.Label1.Location, Me.Label1.Size), GraphicsUnit.Pixel)
    9. Me.Label1.Image = b.Clone
    10. End Using
    11. End Sub
    12. End Class

    dieser code kopiert einfach den teil deiner picturebox - der vom label verdeckt wird - als image in das label.

    somit erreichst du eine transparenz.

    nachtrag: der code wurde mit vs2008 express edition erstellt - also liegt es NICHT an Express.

    gruss

    mikeb69
    hallo kh@os,

    hmmm,

    jetzt weiss ich aber nicht was du meinst !
    wenn ich das bei mir laufen lasse, sehe ich vom label (welches über der picturebox liegt) nur den text.

    vielleicht kannst du mal ein bild von dem, welches dein problem zeigt, online stellen.

    gruss

    mikeb69
    Was mir jetzt spontan einfällt, ist dass du eine PictureBox machst und dadrin ein Bild mit dem Text, das du mit dem Graphics-Object erstellen kannst (g.DrawString)

    VB.NET-Quellcode

    1. dim g as Graphics = graphics.FromImage(bmp)
    Hallo,
    ich weiß, ist etwas spät... habe nach etwas gesucht und bin hier drauf gestoßen...


    also, ich würde einfach das Label anklicken und im Eigenschaften-Fester unter "BackColor" Transparent auswählen...
    Hoffentlich ist das bei VB 2008 auch noch möglich und ich konnte etwas weiterhelfen...
    (Ich benutze VB 2005)

    Greets :)