Application.Run(new Form1())停止执行其他代码

时间:2019-03-30 17:24:56

标签: multithreading winforms webbrowser-control

我创建了一个应用程序,在其中通过代码打开新的WinFrom。 我面临的问题是,当我使用Application.Run()方法打开新的Winform时,这里的窗体打开了,但是此后它停止了当前线程的执行,这意味着它在Application.Run(geMBrowserForm);之后不执行任何代码< / p>

我正在使用STA线程打开新的WinForm。

如果我使用new NewFrom()。show(),它会显示来自的新消息,但WebBrowser表单中的内容不会导航到URL,甚至WebBrowser.DocumentCompleted也不会被触发。

请在下面的代码中找到我的工作。

打开新表格:

Thread thread = new Thread(() =>
{
    try
    {
        GeMBrowserForm geMBrowserForm = new GeMBrowserForm();
        Application.Run(geMBrowserForm);
        geM_Processor.UpdateProductPriceInServer(productInfo, geMUserDTOs[0], geMBrowserForm.gemBrowser);
        Application.Exit();
    }
    catch (Exception ex)
    {
        throw ex;
    }
});

thread.SetApartmentState(ApartmentState.STA);
thread.Start();

0 个答案:

没有答案