На этом форуме я совсем недавно задавался этим вопросом. Почитай:
http://bbs.vbstreets.ru/viewtopic.php?t=8841
А значения Unload и Nothing не помогают потому, что экземпляр формы не верно вызван. Наиболее корректный способ, никогда не дающий отказа потом в коде – объявление экземпляра с последующей её инициализацией:
Dim a as form2
a= new form2.
Идиотизм, правда? Но таков теперь новый Бэйсик, а старого Form.Show(), боюсь, уже никто не вернёт.
p.s. Такую же инструкцию рекомендую использовать при объявлении экземпляра любого класса, помогает.
Человек стремится к знаниям и, как только в нём угасает жажда знания, он перестаёт быть человеком.
Ф. Нансен