无法在从后台工作程序加载的表单中使用WebBrowser控件?

时间:2012-09-16 13:57:34

标签: c# .net facebook-like webbrowser-control backgroundworker

我有一个包含两种表单的窗体应用程序LoginAccount

在登录表单中,我有backgroundWorker1

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{

// doing some heavy work ...

Account acc = new Account(entered_username, entered_password, true);
acc.ShowDialog();
acc.Dispose();
}

//....

Button1

//...

private void Button1_Click(object sender, System.EventArgs e)
    {

        showOrHideLoading();
        backgroundWorker1.RunWorkerAsync();

    }

//...

当我点击button1时,帐户表单正确显示但添加了WebBrowser后 控制到帐户表单,应用程序无法按预期工作,当我点击Button1时,没有任何反应!

对BackgroundWorker使用WebBrowser控件是否有任何限制?

我需要使用WebBrowser显示一个链接(对于像facebook这样的按钮),是否有另一种方法可以在不使用WebBrowser控件的情况下在Windows窗体应用程序中显示html内容。

1 个答案:

答案 0 :(得分:0)

除非你有充分的理由,否则请尽量将UI保留在同一个帖子上。

将“繁重的工作”放在后台线程中,并显示进度对话框等等。

完成后,然后启动Web浏览器表单。