Wie man eine Laufschrift erzeugen kann, möglichst noch flackerfrei, kann man in vielen Tipps nachlesen. Als ich die ersten paar Tipps durchgelesen hatte, war ich überrascht, wie aufwändig die Lösungen sind. Ich hatte keine Lust, zur Implementierung dieser Funktionalität viel Zeit zu verbringen und fand eine bestechend kurze Lösung, die auf Anhieb funktionierte. Auch mit Proportionalschrift ohne viel Rechnerei! Vorgehensweise: ein Panel in der gewünschten Breite auf die Form legen (das nennen wir mal panelLaufschrift, in dieses Panel hinein zwei Label mit Autosize=true, benannt lblLaufschrift1 und lblLaufschrift2 und zwar nebeneinander auf gleiche Höhe. Dann noch einen Timer, genannt timerLaufschrift, mit Interval=25 anlegen. Hier erst mal der Code, bestehend aus 2 Subs: Private Sub Laufschrift(ByVal LaufText As String) With lblLaufschrift1 .Text = LaufText If .Width > panelLaufschrift.Width Then lblLaufschrift2.Text = LaufText timerLaufschrift.Enabled = True lblLaufschrift2.Left = .Left + .Width + 5 Else .Left = 0 lblLaufschrift2.Text = "" timerLaufschrift.Enabled = False End If End With End Sub Private Sub timerLaufschrift_Tick(sender As Object, e As EventArgs) _ Handles timerLaufschrift.Tick lblLaufschrift1.Left -= 1 lblLaufschrift2.Left -= 1 If lblLaufschrift2.Left <= 1 Then lblLaufschrift1.Left = 0 lblLaufschrift2.Left = lblLaufschrift1.Width + 5 End If End Sub Private Sub Form1_Resize(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Resize Laufschrift(lblLaufschrift1.Text) End Sub Erläuterung: Pro Timerschritt wird jedes Label um ein Pixel nach links geschoben. Ist das erste Label dadurch ganz nach links aus dem Panel gewandert, werden die Rollen vertauscht, das erste Label steht linksbündig und das zweite Label folgt wieder rechts daneben. Den Abstand zwischen den beiden Labels kann man natürlich nach Gusto variieren, hier mal mit 5 angenommen. Wird das Fenster vergrößert bzw. verkleinert wird die Prozedur "Laufschrift" erneut aufgerufen, denn bei dynamischer Veränderung der Panelgröße könnte es jetzt sein, dass der Text plötzlich reinpasst und er eigentlich nicht mehr laufen sollte. Und umgekehrt, schiebt man die Form enger, soll er loslaufen. Dieser Tipp wurde bereits 9.140 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
TOP! Unser Nr. 1 Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 TOP Entwickler-Paket TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |