【发布时间】:2014-01-16 15:31:04
【问题描述】:
当通过网络接收到特定消息时,我正在尝试启动一个新的 WinForm,我绝对确定正在接收该消息,因为该表单已打开。但是,当它执行时,它会挂起并且不会停止。我怀疑这是因为我从 UI 线程以外的线程打开它,但不知道如何修复它。我试过这个:
private delegate void OpenFormDV();
public void OpenForm()
{
if (this.InvokeRequired) { OpenFormDV openForm = new OpenFormDV(OpenForm); }
else {
NewForm newForm = new NewForm();
newForm.Show();
}
}
但表单仍然冻结。我该如何解决?
【问题讨论】:
-
您构造了一个委托来保存 OpenForm 方法,但您不对该委托做任何事情。