1

2つのフォームを持つWindowsフォームアプリケーションがあり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();

    }

//...

ボタン 1 をクリックすると、アカウント フォームは正しく表示されますが、アカウント フォームに WebBrowser コントロールを追加した後、アプリケーションが期待どおりに動作せず、ボタン 1 をクリックしても何も起こりません。

BackgroundWorker で WebBrowser コントロールを使用する際に制限はありますか?

WebBrowser を使用して (facebook のようなボタンへの) リンクを表示する必要があります。WebBrowser コントロールを使用せずに Windows フォーム アプリケーション内に HTML コンテンツを表示する別の方法はありますか。

4

1 に答える 1

0

正当な理由がない限り、常に UI を同じスレッドに保持するようにしてください。

あなたの「重い仕事」をバックグラウンドスレッドに入れて、進行状況ダイアログなどを表示してください。

それが完了したら、Web ブラウザ フォームを起動します。

于 2012-09-16T19:15:56.397 に答える