Datagridview
各行にいくつかの列とデータを含む があります。完全な Datagridview データを定期的に送信する必要があります。各行データは一度に 1 つずつ、順番にweb browser
アプリケーションに送信されます。これにより、実際には、この行データが Web サイトの URL に追加され、追加されたデータがすべてエコーされます。したがって、この目的のために、timer
すべてのデータを ごとに 1 回送信するを使用しました10 seconds
。各行を一度に1つずつ送信するタイマー内で、次を使用しましたfor loop
。
private void tmr_senddata_Tick(object sender, EventArgs e)
{
if(dg_parameters.Rows.Count!=1)
{
for (int i = 0; i < dg_parameters.Rows.Count-1; i++)
{
string row = "";
string cell = "";
for (int j = 0; j < dg_parameters.Columns.Count; j++)
{
cell = cell + dg_parameters.Rows[i].Cells[j].Value;
cell = cell + "@";
row = cell;
}
string uri = webBrowser1.Url + row;
webBrowser1.Navigate(uri);
}
}
}
今、私がたどり着くのはlast row being displayed on the browser
. これは、ブラウザがループで初めて指定された URL に移動するまでに、次の反復が行われ、URL が変更されるためです。したがって、最後の行のデータのみが適切にナビゲートされ、ブラウザーに表示されます。ブラウザが URL に移動するのを確認できるように、毎回指定された時間だけ for ループを停止するにはどうすればよいですか。私Thread.Sleep()
のUIスレッドをブロックするので、良い考えではないと思います。
更新:これは、特定のシナリオをテストするために使用されるシミュレーション アプリケーションです。したがって、これを行う理由は無視してください。問題の解決策はうまくいくでしょう。