0

これがばかげた質問ではないことを願っています。しかし、私は現在、ウェブサイト予約システムのフロントエンドであるプログラムを書いています。特定のリンクに移動すると、ページ上の以前の情報が記憶されます-したがって、ページをロードしてから更新する必要があります-これを行うのは少し面倒なので、ロード中に表示される別のフォームを作成しました。 cs。最初のwhileループで「pleasew」が表示され、「WebBrowserReadyState」が「C​​omplete」に設定されていると想定しています。更新が完了する前に、多かれ少なかれ「pleasew」フォームを閉じます。更新する前に「WebBrowserReadyState」をリセットするためにできることはありますか?それとも別の解決策がありますか?

見てくれてありがとう

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

    private void button7_Click_1(object sender, EventArgs e)
    {

        webBrowser1.Navigate("www.test.co.uk");
        pleasew pleasewait = new pleasew();
        pleasewait.Show();

        while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
        {
            Application.DoEvents();

        }

        webBrowser1.Refresh();

        while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
        {
            Application.DoEvents();

        }
        pleasewait.Hide();

    }
4

1 に答える 1

0

私があなたの問題を正しく理解しているなら、あなたはあなたがあなたのリフレッシュをするとき、readystateが完全な状態から抜け出さないと信じています。2番目のwhileループに入らないようにデバッグしましたか?おそらくそれは更新であるため、キャッシュからロードされ、それが混乱の原因になります。

更新の代わりに2番目のナビゲートを実行して、何が起こるかを確認してください。

于 2011-10-21T15:27:02.423 に答える