Rubrik: Oberfläche · Effekte | VB-Versionen: VB.NET | 20.03.06 |
Transparente Fenster (.NET) Dieses Beispiel zeigt, wie man ein Fenster in bestimmten Abstufungen transparent darstellen kann. | ||
Autor: maggo | Bewertung: | Views: 18.701 |
ohne Homepage | System: WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Unser heutiges Beispiel zeigt, wie man unter VB.NET ein Fenster (teil-)transparent darstellen kann. Hierzu braucht man lediglich die Opacity-Eigenschaft der Form auf den gewünschten Wert festlegen. 1 bedeutet keine Transparenz, 0 absolute Transparenz. Werte zwischen 0 und 1 machen das Fenster teiltransparent.
Für das nachfolgende Beispiel erstellen Sie bitte ein Windows-Forms-Projekt und platzieren folgende Controls auf die Form:
- Label1
- Button1
- Button2
- TrackBar1
Fügen Sie folgenden Code in den Codeteil der Form ein:
Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load ' Control-Beschriftung Me.Label1.Text = "Bewegen Sie den Regler zur gewünschten Transparenz" Me.Label1.AutoSize = True Me.Button1.Text = "50% Transparenz" Me.Button2.Text = "Wiederherstellen" ' Minimum, Maximum, und die Schrittweite des Reglers festlegen With Me.TrackBar1 .Maximum = 100 .Minimum = 70 .LargeChange = 1 .Value = TrackBar1.Maximum End With End Sub
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Me.Opacity = 0.75 ' Regler von Trackbar1 auf 0.75 einstellen TrackBar1.Value = 75 End Sub
Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click ' Wiederherstellen (keine Transparenz) Me.Opacity = 1 TrackBar1.Value = TrackBar1.Maximum End Sub
Private Sub TrackBar1_Scroll(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles TrackBar1.Scroll ' Da der Wert zwischen 1 und 100 berechnet wird muss er auf ' einen Wert zwischen 0.01 und 1 umgerechnet werden (Prozent-Skala der Trackbar) Dim NeuWert As Decimal = TrackBar1.Value / 100 ' neue Transparenz ausführen Me.Opacity = NeuWert End Sub