【发布时间】:2010-10-27 13:07:53
【问题描述】:
在 datagridview 中,我有一个 IP 地址字段。 当我单击检查状态按钮时,我为 datagridview 中的每一行创建线程,然后在该 IP 上的主机上调用一个远程对象并获取一些信息并将另一个 datagridview 字段设置为该信息。
但是有一个问题。信息在 datagridview 上设置错误。为什么?
private void button_CheckStatus_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView.Rows.Count; i++)
{
IPAddress IP;
if (IsValidIP(dataGridView["IP", i].Value.ToString(), out IP))
{
Thread t = new Thread(() => CheckStatusThreadFunction(IP, i));
t.Start();
}
}
}
【问题讨论】:
-
怎么设置错了?您期望的结果是什么?实际结果与预期结果有何不同?
-
get info 中的文本应该设置在第 i 行的前面,但有时会设置在下面的下一行或第二行。
标签: c# .net multithreading parameter-passing