Moin,
ich will folgendes realisieren: In einer RichTextBox (mit immer genau 10 Zeichen Inhalt) sollen bestimmte Zeichen einen "Glüheffekt" erhalten.
Die Buchstaben sind blau (RGB 0, 0, 255). Tritt jetzt ein bestimmtes Ereignis ein, dann wird ein Zeichen mittels Timer (Intervall=5ms) erst weiß gefärbt (RGB 255, 255, 255) und dann werden bei jedem Timer-Tick Rot- und Grünanteil in 5er Schritten verkleinert, sodass das Zeichen also nach 255ms wieder blau ist (RGB 0, 0, 255).
Ich hoffe, das ist soweit klar . Ist halt ein selbst gebastelter Effekt in einer RichTextBox.
Das funktioniert für ein Zeichen genau so, wie ich es haben will. Bei mehreren Zeichen steh ich jetzt aber momentan aufm Schlauch. Angenommen, das Ereignis löst zum Zeitpunkt 0 aus, dann braucht der Timer 255ms. Nach 50ms (Timer 1 läuft also noch) aber kann nun schon ein weiteres Ereignis ausgelöst werden, welches ein zweites Zeichen dann mit diesem Effekt verändern soll.
Der Link hier ist eigentlich fast das, was ich benötige. Also verschiedene Timer während der Laufzeit mittels Array erstellen und ansteuern. Nur müssen die Timer, wenn der Effekt abgelaufen ist (das Zeichen also wieder blau ist), wieder gestoppt werden, was bisher im Timer_Tick-Ereignis passierte:
ich will folgendes realisieren: In einer RichTextBox (mit immer genau 10 Zeichen Inhalt) sollen bestimmte Zeichen einen "Glüheffekt" erhalten.
Die Buchstaben sind blau (RGB 0, 0, 255). Tritt jetzt ein bestimmtes Ereignis ein, dann wird ein Zeichen mittels Timer (Intervall=5ms) erst weiß gefärbt (RGB 255, 255, 255) und dann werden bei jedem Timer-Tick Rot- und Grünanteil in 5er Schritten verkleinert, sodass das Zeichen also nach 255ms wieder blau ist (RGB 0, 0, 255).
Ich hoffe, das ist soweit klar . Ist halt ein selbst gebastelter Effekt in einer RichTextBox.
Das funktioniert für ein Zeichen genau so, wie ich es haben will. Bei mehreren Zeichen steh ich jetzt aber momentan aufm Schlauch. Angenommen, das Ereignis löst zum Zeitpunkt 0 aus, dann braucht der Timer 255ms. Nach 50ms (Timer 1 läuft also noch) aber kann nun schon ein weiteres Ereignis ausgelöst werden, welches ein zweites Zeichen dann mit diesem Effekt verändern soll.
Der Link hier ist eigentlich fast das, was ich benötige. Also verschiedene Timer während der Laufzeit mittels Array erstellen und ansteuern. Nur müssen die Timer, wenn der Effekt abgelaufen ist (das Zeichen also wieder blau ist), wieder gestoppt werden, was bisher im Timer_Tick-Ereignis passierte:
VB.NET-Quellcode
- Dim WithEvents oTimer as Timer
- Dim red as Integer = 255
- Dim green as Integer = 255
- Private Sub oTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles oTimer.Tick
- If red >= 0 then
- 'Farbe des Zeichens setzen
- red -= 5
- green -=5
- Else
- red = 255
- green = 255
- oTimer.Stop() '<------ !
- End Sub