いくつかのパラメーターを取得する C# Windows フォームに WebBrowser コントロールがあります。一部の Ajax コンテンツが原因で、Web ブラウザーは DocumentCompleted を複数回発生させます。それに加えて、フォーム フィールドにいくつかの値を入力する Web ページ (これは、コントロールにパラメーターを渡すことを意味します) の読み込みがあまり速くありません。2 秒ごとに値を入力しようとするタイマーがあります。これまでのところは問題ありませんが、フォームに渡す必要があるさまざまな値があり、Web サイトを再度読み込む必要があります。foreachループを使用して通過するリストにこれらの値があります。問題は、foreachloop が速すぎて、webbrowser コントロールがそのリストの最後の値しか取得できないことです。
皆さんが私の言いたいことを理解してくれることを願っています。これを修正するために何をすべきか、いくつかの推奨事項/ヒント/コツはありますか?
ありがとう!
編集: 以下は、最後にタイマーをトリガーする foreach のコードで、ページの読み込み、パラメーターの受け渡しなどのプロセスを経ます...
foreach (string routeFrom in lstRoutesFrom)
{
string routeTo = lstRoutesTo[lstRoutesFrom.IndexOf(routeFrom)].ToString();
//Prepare Data...
this.requestAirportFrom = routeFrom;
this.requestAirportTo = routeTo;
string dd = "13";
string mm = "07";
string yyyy = "2012";
string date = dd + "/" + mm + "/" + yyyy;
this.requestDate = date;
this.globalStep = 0;
listAirline.Clear();
listArrAirports.Clear();
listArrTime.Clear();
listDepAirports.Clear();
listDepTime.Clear();
listFlightNumbers.Clear();
listFlightPrices.Clear();
btnTimer.Enabled = true;
}