Just a little more...

I think that the hardest thing for VB6 and earlier programmers with .Net is that it is truly OO. Everything is an object. Just remember, objects don't exist unless you create them...and you create them from classes.

In the example of the form....You are designing a form in the IDE, but it is just a class in which you can create objects from. It doesn't exist...until you create it.

When you do this:
Dim frmTemp as Form
You are just creating a generic form from the form class. If you want to get specific on what kind of form...such as a class you created in the IDE, you will need to make an object of that type. Hence this:
Dim frmTemp as MyIDECreatedForm