如何在VB.NET的非GUI代码中打开窗体

如何在VB.NET的非GUI代码中打开窗体,vb.net,forms,winforms,Vb.net,Forms,Winforms,我用VisualBasic编写了一个程序,它不需要——也没有——GUI,除非发生了用户需要参与的特定事件(MsgBox是不够的)。 现在我想从我的代码中调用一个表单(我已经在项目中创建了这个表单)。所以我想打电话 Public Class MyForm {...} 'In my case empty End Class 从内部 Module MyMain {...} 'do unrelated stuff 'Call MyForm somehow {...} 'proc

我用VisualBasic编写了一个程序,它不需要——也没有——GUI,除非发生了用户需要参与的特定事件(MsgBox是不够的)。 现在我想从我的代码中调用一个表单(我已经在项目中创建了这个表单)。所以我想打电话

Public Class MyForm
   {...} 'In my case empty
End Class
从内部

Module MyMain
   {...} 'do unrelated stuff
   'Call MyForm somehow
   {...} 'proceed stuff, knowing users input
End Module
我看到表单的时间很短,但当我处于表单中时,我无法让程序停止并等待我。 我绝望的代码是:

Module MyMain
   {...} 'do unrelated stuff
   Dim wifo As New MyForm()
   wifo.Show()
   wifo.Visible = True
   wifo.Activate()
   wifo.Focus()
   {...} 'proceed stuff, knowing users input
End Module

怎么做?

如果我理解正确,您需要Form.ShowDialog()方法


ShowDialog
停止执行,直到表单关闭,而
Show
继续执行。因此,请尝试
wifo.ShowDialog()