私はこのスレッドの世界に不慣れです。スレッドに関するチュートリアルをたくさん見ましたが、それでも自分の好きなように使うのは難しいと思います。私が欲しいのは、Pingの結果を取得した直後にラベルを更新することです。以下のコードは、すべてのping結果が返された後に一度にすべてのラベルを更新することを除いて、うまく機能しています。スレッドを使用すると、これに役立つと思います。
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;
}
}
}