Public Class Form1
'EACH RANDOMTEXT HAS 3 PROPERTIES: TEXT, LOCATIONX, AND LOCATIONY.
'THIS IS AN EFFECT TO SCATTER TEXT TO SLOWLY COVER THE SCREEN.
Dim R As New Random
Dim F As New Font("Arial", 16, FontStyle.Bold)
Dim RandomTexts As New List(Of RandomText)
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Timer1.Start()
End Sub
Private Sub Form1_Paint(sender As Object, e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
For Each RandomText In RandomTexts
e.Graphics.DrawString(RandomText.Text, F, Brushes.Black, New Point(RandomText.LocationX, RandomText.LocationY))
Next
End Sub
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
Dim RT As New RandomText("", New Point(0, 0))
NewText(Me.ClientRectangle.Size)
RandomTexts.Add(RT)
Me.Text = "Text Scatter Effect. # of random texts: " & RandomTexts.Count
Me.Invalidate()
End Sub
Private Sub NewText(ByRef ScreenSize As Point)
Dim Alphabet As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"
Dim N As Int32 = CInt(R.Next(3, 15))
Dim A As Int32 = CInt(R.Next(Alphabet.Length))
For Each RandomText In RandomTexts
If RandomText.Text = "" Then
RandomText.LocationX = R.Next(-10, (ScreenSize.X - 10))
RandomText.LocationY = R.Next(-10, (ScreenSize.Y - 10))
Do Until N <= 0
N -= 1
RandomText.Text += Alphabet(A)
A = CInt(R.Next(Alphabet.Length))
Loop
End If
Next
End Sub
End Class
Public Class RandomText
Public Property Text As String
Public Property LocationX As Int32
Public Property LocationY As Int32
Public Sub New(ByRef TextNew As String, ByRef LocationNew As Point)
Text = TextNew
LocationX = LocationNew.X
LocationY = LocationNew.Y
End Sub
End Class