Я знаю, что это старый вопрос, и, возможно, к этому времени блок MS-DOS, о котором говорит OP, теперь находится в музее, но если вы выбираете язык Visual Basic, то я предлагаю вам попробовать PowerBasic доступен, коммерческий, может компилироваться в 16-битный код) или QBasic (который в любом случае уже доступен на вашем DOS-боксе.
В случае PowerBasic последние версии компилируются в 32-разрядные. Но я уверен, что вы можете попросить их о более старой версии. Плюс в том, что вы можете использовать одну кодовую базу для 16-битных и 32-битных. Я уже давно использовал его, но, если я правильно помню, он мог создать диалоговые окна для представления консоли (то есть не всплывающее окно, а внутри консоли MS-DOS).
В случае QBasic это довольно ограниченная среда, и она интерпретируется, хотя ее скомпилированный коммерческий компаньон QuickBasic теперь можно бесплатно загрузить с нескольких сайтов. Также кажется, что существуют новые версии, которые могут компилироваться в 32-битные и 64-битные, что означает, что вы можете сохранять (вроде) одну и ту же кодовую базу.
Я уверен, что есть другие варианты, но они могут быть самыми простыми, если у вас уже есть опыт работы с Visual Basic.
Кроме того, как уже отмечали другие, Windows Forms нельзя использовать или компилировать в 16-битную MS-DOS.