Benutzer mit den meisten Antworten
Transparenz von den Fenstern Stufenweise höher stellen!

Frage
-
Hallo!Das Fenster meines Programms soll nicht so langweilig wie jedes andere erscheinen, sondern soll sich langsam einblenden (und wieder ausblenden). Ich hab das irgendwie schon mit der Form-Eigenschaft "Opacity" ausprobiert, jedoch sieht man kein Unterschied, wenn man folgenden Code benutzt:
For Transparenz = 0 To 100 step 5 Me.opacity = Me.opacity + 5 Next
Dabei müsste das Fenster eigentlich stufenweise immer weniger Transparent werden, bis es dann bei 100 ist (undurchsichtig).Ich habe auch schon versucht, die Transparenz mithilfe einer Trackbar und eines Textfeldes einzustellen:Me.Opacity = Trackbar1.Value
und...Me.Opacity = Textfeld1.Text
Jedoch verschwindet bei diesen beiden Methoden nur das Fenster, wenn man die Eigenschaft über die Trackbar bzw. das Textfeld auf 0 stellt. Sonst passiert nichts.Über Antworten würde ich mich sehr freuen!Björn
Antworten
-
Hallo Björn,
Schau mal den folgenden Code an. Vielleicht hilft er Dir weiter.
Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Opacity = 1 End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim iCount As Integer For iCount = 100 To 10 Step -10 Me.Opacity = iCount / 100 Me.Refresh() Threading.Thread.Sleep(50) Next '//wieder zurueck For iCount = 10 To 100 Step 10 Me.Opacity = iCount / 100 Me.Refresh() Threading.Thread.Sleep(50) Next End Sub End Class
Grüße,Robert
- Als Antwort vorgeschlagen Robert Breitenhofer Donnerstag, 11. Februar 2010 09:25
- Als Antwort markiert Robert Breitenhofer Montag, 15. Februar 2010 16:36
-
Hi,
Opacity geht nicht von 0 bis 100, sondern von 0 bis 1. Du müsstest also in deinem Beispiel schreiben:
me.opacity = me.opacity + 0.05
mfg
Imperium_Romanum
MAY THE SOURCE BE WITH YOU!- Als Antwort markiert Robert Breitenhofer Montag, 15. Februar 2010 16:36
Alle Antworten
-
Hallo Björn,
Schau mal den folgenden Code an. Vielleicht hilft er Dir weiter.
Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Opacity = 1 End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim iCount As Integer For iCount = 100 To 10 Step -10 Me.Opacity = iCount / 100 Me.Refresh() Threading.Thread.Sleep(50) Next '//wieder zurueck For iCount = 10 To 100 Step 10 Me.Opacity = iCount / 100 Me.Refresh() Threading.Thread.Sleep(50) Next End Sub End Class
Grüße,Robert
- Als Antwort vorgeschlagen Robert Breitenhofer Donnerstag, 11. Februar 2010 09:25
- Als Antwort markiert Robert Breitenhofer Montag, 15. Februar 2010 16:36
-
Hi,
Opacity geht nicht von 0 bis 100, sondern von 0 bis 1. Du müsstest also in deinem Beispiel schreiben:
me.opacity = me.opacity + 0.05
mfg
Imperium_Romanum
MAY THE SOURCE BE WITH YOU!- Als Antwort markiert Robert Breitenhofer Montag, 15. Februar 2010 16:36