Hi!
Can someone please explain to me why this code doesn't work? Most of the description is in the comments of the code, but what I'm looking for is how to make the points move?
Thanks in advance as always!

vb Code:
  1. Public Class Form1
  2.  
  3.     Dim R As New Random
  4.     Dim PtList As New List(Of Point)
  5.  
  6.     Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  7.         'Start timer and create 300 random points in a 200x200 rectangle.
  8.         Timer1.Start()
  9.         For i As Int32 = 0 To 300 Step 1
  10.             PtList.Add(New Point(R.Next(0, 200), R.Next(0, 200)))
  11.         Next
  12.     End Sub
  13.  
  14.     Private Sub Form1_Paint(sender As Object, e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
  15.         'Draw each point.
  16.         Dim G As Graphics = e.Graphics
  17.         For Each Point In PtList
  18.             G.FillRectangle(Brushes.Black, Point.X, Point.Y, 1, 1)
  19.         Next
  20.     End Sub
  21.  
  22.     Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
  23.         'Create a temporary point, subtract a portion, and thus resetting each point's location.
  24.         'This should make each point move back and up 5 pixels per tick.
  25.         Dim NextPoint As New Point(20, 20)
  26.         For Each Point In PtList
  27.             Point.X -= CInt(NextPoint.X / 4)
  28.             Point.Y -= CInt(NextPoint.Y / 4)
  29.         Next
  30.         'I have this code here just to make sure the timer is working correctly.
  31.         Static a As Int32 = 0
  32.         a += 1
  33.         Me.Text = a
  34.         Me.Invalidate()
  35.     End Sub
  36.  
  37. End Class
P.S. How can I change the color in these code blocks? ^ I prefer the regular VB 2010 colors.