Кирилл, ты исходник выкладывай. Зачем мне EXE.
Несколько разных по виду и наполнению меню нужно сделать?
Тогда да, лучше создавать новую форму.
В правой части, где имя формы (Form1) жми правой кнопкой -> Add Form.
Чтобы из кода вызвать другую форму:
Соответственно первую первую форму можно временно спрятать:
Form1.Hide
'или
me.Hide
'me - ключевое слово ("меня"). Т.е. код действует на форму, внутри которой этот код написан.
Форма может быть вызвана:
- модально (нельзя переключаться между формами - пример "Окно служб Windows" и "окно Свойств любой из служб")
- немодально (можно переключаться - пример любые два окна проводника Windows)
Чтобы отобразить форму модально:
Немодально:
По умолчанию (если цифру не писать) будет вызвана немодально.
Надеюсь, ничего не препутал

Вообще, контролы на форме можно создавать программно,
например, если тебе заранее неизвестно, сколько нужно создать флажков или кнопок...Также есть такой компонент, как таймер.
Он позволяет выполнять один и тот же код через N секунд.
Будет полезно, например, для периодического обновления данных на форме (если к примеру значения в реестре поменялись).
Такой способ является плохим тоном в программировании, т.к. существуют события.
Как только что-то изменилось в реестре, твоя программа может получить об этом извещении.
Но это не для новичков. Идем последовательно от простого к сложному.