هل هناك أي الأساسية 2008 كود النص التمرير البصرية؟
سؤال
واريد التعليمات البرمجية التي عند تطبيقها على النص في مخطوطات بسيطة 2008 البصرية عبر الشاشة. أنا لا أريد أي شيء مبهرج، مجرد شيء أساسي لتبدأ معها. إذا كنت الرجال يعرفون شيء من هذا القبيل من شأنها أن تكون كبيرة!
وتحرير:
وأود أن دورة، نأمل أن يكون هذا يجعل من السهل!
المحلول
وماذا تحتاج: تسمية واحدة، يمكنك أن تسميه أي شيء ولكن في هذه الحالة LABEL1 هو تسمية لدينا، واسم الملف النموذج Form1.vb لكن بالطبع يمكنك تغيير هذا
وماذا لا يزال لديك القيام به: تحرير النص scrollLabel (15) في كلتا الحالتين لجعله السرعة التي تريدها. الوقت في أجزاء من الثانية، بين التكرارات.
وهناك ربما أفضل طريقة للقيام بذلك، ولكن هنا هو أفضل لقطة بلدي:
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
لاحظ كيف يساعد IsClosed لكسر حلقة لضمان عدم استمرار تطبيق مرة واحدة يتم إيقاف ذلك.
وأيضا، إذا كان المستخدم قد حجمها شكل ولئن كان من التمرير فإنه قد يتسبب في التسمية على القفز عندما يضرب الجانب الأيسر، ولكن ذلك لن تصحيح نفسها بمجرد اكتمال حلقة كاملة.
نصائح أخرى
ولها أكثر سهولة مع جهاز توقيت:
Lable.Text = Lable1.Text.Substring(1) & Lable1.Text.Substring(0, 1)
وضعت هذه الموقت رمز وبدء الموقت على تحميل النموذج هذه هي الطريقة التي يمكنك استخدامها