0

Webページを表示するためにwebBrowserコントロールを使用しています。webBrowserの作成中に、事前定義されたタグの値を変更できます。私の問題はtimer_tick、同じタグ値を変更したいということです。これが私のコードです

if (currentlyRunningObject.Equals(webBrowser1))
{
     Application.DoEvents();
     HtmlElement test = webBrowser1.Document.All["test"];
     test.InnerHtml = "mmmmmmmm";
}

timer_tick私も同じことをしましたが、最後の行の実行が完了した後、 VSはデバッグを停止しました。

4

2 に答える 2

0

ここで解決策を見つけるのは、タイマーティックのコードです

webBrowser1.Invoke(new ThreadStart(delegate
                    {
                        Application.DoEvents();
                        HtmlElement token2 = webBrowser1.Document.All["token2"];
                        //MessageBox.Show(token2.InnerHtml);
                        token2.InnerHtml = currentToken;
                    }));
于 2013-01-29T13:20:33.573 に答える
0

タイマーの目盛りは、スレッド プール スレッドで発生します。webBrowser1を使用してコードを呼び出して UI スレッドにマーシャリングするか、 SynchronizationClassを使用して同じことを行う必要があります。

Action a = () => 
{
     HtmlElement test = webBrowser1.Document.All["test"];
     test.InnerHtml = "mmmmmmmm";
};
webBrowser1.Invoke(a);
于 2013-01-28T09:06:52.040 に答える