我是这个线程世界的新手。我看到了一堆关于线程的教程,但我仍然觉得很难以我想要的方式使用。我想要的是在我得到 Ping 结果后立即更新标签。下面的代码运行良好,除了它在返回所有 ping 结果后一次更新所有标签。我认为使用 Thread 可以帮助我解决这个问题。
for (int i = 0; i < lblPings.Count; i++)
{
Ping x = new Ping();
if (txtTo[i].Text.Length > 0)
{
PingReply reply = x.Send(IPAddress.Parse(txtTo[i].Text));
if (reply.Status == IPStatus.Success)
{
lblPings[i].Text = reply.RoundtripTime.ToString() + "ms";
lblPings[i].ForeColor = Color.Blue;
}
else //if host is not reachable.
{
lblPings[i].Text = "Failed";
lblPings[i].ForeColor = Color.Red;
}
}
}