ShowDialog is a "special" way to open a form - it opens the form and does not return until that form has been closed (this is called a Modal Dialog). It's intended for things like a "Save file" dialog which gets the user to give a file name because the save code can't continue until the user has told it where to save the data!
It's not the only way to open a form: there is also the Show method which starts the process of opening the form and returns immediately so your code can continue.
So if you want to open a form and close the existing, you can do it very easily:
Dim f as New Form2
f.Show()
Close()
But ... be aware that if you close the "original" form - the one that starts the application - then your app will immediately terminate and all forms will be closed.
Depending on what you are trying to achieve with this, that may not be what you want to do.