You can use the code I posted, just remove the Timer and close the form after doing eveything you do in your forms Load event.

You my need to make a call to Application.DoEvents after showing the splash.

You don't need to start a new Thread to accomplish this.
VB Code:
  1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.       Dim splash As New frmSplash
  3.       Me.AddOwnedForm(splash)
  4.       splash.Show()
  5.  
  6.       Dim i As Integer
  7.       For i = 1 To 1000
  8.          Console.WriteLine("Do Something")
  9.       Next
  10.  
  11.       splash.Close()
  12.    End Sub
Regards,

- Aaron.