Please correct me if I'm wrong, but multithreading will do the following:

I have a form frmInvMaint which loads about 800 000 records from my Pick database. I have a 2nd form frmLoading with a animated gif on it.

The reason for this is the application takes about 30seconds to return the selection from the DB. During that time, the application seems to be hanging (not responding). I added the frmLoading to show, before the selection executes. This way the user will see a animated loading gif on his screen, assuring him that the application is working in the background.

This is where the booboo hit the fan. My lame attempt on multi threading failed. The gif on frmLoading hangs, infact, the entire form hangs.

Will multithreading fix this if done properly? If yes, can anybody show me how to do this?

This is the code I used:
vb.net 2010 Code:
  1. Public Shared Sub Main()
  2.         Dim t As New Thread(AddressOf ThreadProc)
  3.         t.Start()
  4.         FrmLoading.Show()
  5.     End Sub