Since you're runnint from Main instead of letting the framework do it, you have to launch the form differntly to setup the app's message pump.
Instead of Form.Show, you do this:
Dim frm1 As New Form1
Application.Run(frm1)
Application.Run is a blocking call, so no code after it will execute until the form is closed.