scrolling text / Marque visual studio express /

i'v found several scrolling text / marque examples on the net .. i'v tested a lot of them .. but some some reason all of them are not smooth .. text is 'blinking'  .. anyone knows a good marque control? a paid one is also good (within budget:) ) .. i really tried alot of them..

thanks in advanced
Who is Participating?
Bob LearnedConnect With a Mentor Commented:
Here is a crude custom control that I have in my bag-o-tricks, that doesn't "blink", and is pretty smooth, that you can tinker with (if you wish):
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports System.Windows.Forms
Imports System.Drawing
Imports System.ComponentModel
Namespace ResearchAndDevelopment
    Public Class Marquee
        Inherits Panel
        Private _x As Double = 5
        Private _Timer As Timer = Nothing
        Public Sub New()
            Me.SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.OptimizedDoubleBuffer Or ControlStyles.UserPaint Or ControlStyles.SupportsTransparentBackColor, True)
            Me.BorderStyle = BorderStyle.Fixed3D
            Me.BackColor = SystemColors.ControlDarkDark
            _Timer = New Timer()
            _Timer.Enabled = False
            _Timer.Interval = 10
            AddHandler _Timer.Tick, AddressOf _Timer_Tick
        End Sub
        Private Sub _Timer_Tick(ByVal sender As Object, ByVal e As EventArgs)
            _x += 0.8
            If _x > Me.ClientSize.Width Then
                _x = 5
            End If
        End Sub
        Protected Overloads Overrides Sub OnPaint(ByVal e As PaintEventArgs)
            Dim y As Integer = CInt(((Me.ClientSize.Height - TextRenderer.MeasureText("W", Me.Font).Height) / 2))
            Using brush As New SolidBrush(Me.ForeColor)
                e.Graphics.DrawString(Me.Text, Me.Font, brush, CInt(_x), y)
            End Using
        End Sub
        Private _text As String
        <Browsable(True)> _
        <DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)> _
        Public Overloads Overrides Property Text() As String
                Return _text
            End Get
            Set(ByVal value As String)
                _text = value
            End Set
        End Property
        <DefaultValue(GetType(Integer), "500")> _
        Public Property Speed() As Integer
                Return Me._Timer.Interval
            End Get
            Set(ByVal value As Integer)
                Me._Timer.Interval = value
            End Set
        End Property
        <Browsable(False)> _
        Public Shadows Property Enabled() As Boolean
                Return Me._Timer.Enabled
            End Get
            Set(ByVal value As Boolean)
                Me._Timer.Enabled = value
            End Set
        End Property
    End Class
End Namespace

Open in new window

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.