WinForm在打开时挂起

时间:2013-12-29 17:09:12

标签: c# winforms

我正在尝试通过网络接收特定消息时启动新的WinForm,我绝对确定正在接收消息,因为表单打开了。但是,当它发生时,它会挂起并且不会停止。我怀疑这是因为我从UI线程以外的线程打开它,但不知道如何修复它。我试过这个:

private delegate void OpenFormDV();
    public void OpenForm()
    {
        if (this.InvokeRequired) { OpenFormDV openForm = new OpenFormDV(OpenForm); }
        else {
            NewForm newForm = new NewForm();
            newForm.Show();
        }
    }

但表格仍然冻结。我该如何解决?

1 个答案:

答案 0 :(得分:3)

这个问题可能就是这个问题的答案:

C# calling form.show() from another thread

您必须使用全局Invoke与newForm进行交互。