0

有没有办法让 Windows 窗体中的文本像 HTML 中的选取框标记中的文本一样滚动?

4

2 回答 2

1

您可以使用计时器和几个变量来帮助您这样做。可以做这样的事情...

'Class-level variables.
Private m_intMarqueeCounter As Integer = 1
Private m_bolMarqueeIncrementUp As Boolean = True

Private Sub YourMarqueeTimer_Tick()

   'You can decide what number is best for your app.
   If m_intMarqueeCounter = 10 Then

      m_bolMarqueeIncrementUp = False

   End If

   If m_intMarqueeCounter = 0 Then

      m_bolMarqueeIncrementUp = True

   End If

   Dim intX As Integer
   For intX = 0 to m_intMarqueeCounter

      frmYourForm.Text = " " & "Your Title"

   Next

   If m_bolMarqueeIncrementUp Then

      m_intMarqueeCounter += 1

   Else

      m_intMarqueeCounter -= 1

   End If

End Sub
于 2011-03-11T22:51:29.750 回答
0
Const marqueeText As String = "The quick brown fox...   "
Dim sb As New System.Text.StringBuilder
Dim direction As Boolean = False 'true = left to right, false = right to left

Private Sub Timer1_Tick(sender As System.Object, _
                        e As System.EventArgs) Handles Timer1.Tick

    If sb.Length = 0 Then sb.Append(marqueeText)
    If direction Then
        sb.Insert(0, sb(sb.Length - 1))
        sb.Remove(sb.Length - 1, 1)
    Else
        sb.Append(sb(0))
        sb.Remove(0, 1)
    End If
    Me.Text = sb.ToString
End Sub
于 2011-03-12T14:15:10.213 回答