0

状況は次のとおりです。WebBrowserプログラムで使用します。html要素をクリックしたときに、ターゲットサーバーからブラウザーがダウンロードしたデータを検出したいです。

これは私がやりたいことです:

HtmlElement element = browser.GetOneElement
element.InvokeMember("click");
if(will download data from the server?)
{
    //do something
}
else
{
    //do other thing
}

現在、私の解決策は、フラグを設定してダウンロードしていることに注意しOnProgressChangedWebBrowserコントロールを拡張して、そこでフラグをtrueに設定することです。

コードは次のとおりです。

    private bool _isInteractive;
    public bool IsInteractive
    {
        set 
        {
            _isInteractive = true;
        }
        get
        {
            Thread.Sleep(1000);
            return _isInteractive;
        }
    }

次に、次のように使用します。

HtmlElement element = browser.GetOneElement
browser.IsInteractive = false;
element.InvokeMember("click");
if(browser.IsInteractive)
{
    //do something
}
else
{
    //do other thing
}

しかし、それはあまり良くないと思います。助言がありますか?

4

1 に答える 1

1

WebBrowser.IsBusy物件はどうですか?

于 2012-05-11T08:50:00.000 に答える