Existe algum código de texto de rolagem Visual Basic 2008?
Pergunta
Eu quero um código que, quando aplicada ao texto no Visual Basic 2008 que rola em toda a tela. Eu não quero chamativo nada, apenas algo básico para começar com. Se vocês sabem de uma coisa que seria ótimo!
EDIT:
Eu gostaria que ele ciclo, espero que isso torna mais fácil!
Solução
O que você precisa:. A única etiqueta, você pode nomeá-lo qualquer coisa, mas, neste caso, Label1 é nossa gravadora, e o nome do arquivo forma é Form1.vb, mas é claro que você pode alterar esse
O que você ainda tem que fazer: Edite o texto scrollLabel (15) em ambos os casos para torná-lo a velocidade desejada. O tempo é em milissegundos, entre iterações.
Há provavelmente uma maneira melhor de fazer isso, mas aqui é o meu melhor tiro:
Public Class Form1
Dim IsClosed As Boolean = False
Private Sub wait(ByVal time)
Dim sw As New Stopwatch
sw.Start()
Do While sw.ElapsedMilliseconds < time
Application.DoEvents() 'Lets our UI remain active
Loop
End Sub
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
IsClosed = True
End Sub
Private Sub Form1_Shown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown
scrollLabel(15)
End Sub
Private Sub scrollLabel(ByVal time)
Dim passed As Boolean = False 'Indicates whether or not we have passed the initial bounds of the form
Dim startX As Integer = Label1.Bounds.X
For i As Integer = 0 To Me.Bounds.Width + Label1.Bounds.Width Step 1
wait(time)
Label1.SetBounds(Label1.Bounds.X - 1, Label1.Bounds.Y, Label1.Bounds.Width, Label1.Bounds.Height)
If i > Me.Width - startX And passed = False Then
Label1.SetBounds(Me.Width, Label1.Bounds.Y, Label1.Bounds.Width, Label1.Bounds.Height)
passed = True
End If
If IsClosed = True Then
Return
End If
Next
scrollLabel(15)
End Sub
End Class
Observe como IsClosed ajuda a quebrar o ciclo de garantir a aplicação não continua uma vez que está fechada.
Além disso, se o usuário tenha redimensionado o formulário enquanto está rolando pode causar o rótulo para saltar quando ele atinge o lado esquerdo, mas que irá corrigir-se uma vez que tenha concluído um ciclo completo.
Outras dicas
É mais fácil com um temporizador:
Lable.Text = Lable1.Text.Substring(1) & Lable1.Text.Substring(0, 1)
Coloque este temporizador código e iniciar o temporizador de carregamento do formulário é assim que você pode usá-lo