我有一个Datagridview
在每行中包含几列和数据的。我需要定期发送完整的 Datagridview 数据,每行数据一次一个,按顺序发送到web browser
我的应用程序中,这实际上会将此行数据附加到网站的 URL,该 URL 将回显附加到它的任何数据。所以为了这个目的,我使用了一个timer
它将为每个发送一次所有数据10 seconds
。在计时器内一次发送每一行,我使用了以下内容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 更改。所以只有我的最后一行数据被正确导航并显示在浏览器上。如何每次都在指定的时间内停止 for 循环,以便我可以看到我的浏览器导航到 URL。我认为Thread.Sleep()
这不是一个好主意,因为它会阻塞我的 UI 线程。
更新:这是一个用于测试特定场景的模拟应用程序。所以请忽略这样做的原因。解决问题会很好。