リモートコンピューターがオンラインかどうかを確認するpingテストを実装しています。コンピューターのIPを入力するテキストボックスと、押すとすべてのコンピューターにpingを実行してオンラインかどうかを確認するボタンがあります。オンラインまたはオフライン(緑または赤)を反映するように線の色を変更したいと思います。現在のコードでは、失敗するとテキストボックス全体の色が赤に変わります。
私の目標は、コンピューターの1つがpingテストに失敗した場合、他のコンピューターがpingを受信した場合、他のコンピューターは緑のままで、赤で表示されることです。
ありがとう。
private void button_Click(object sender, EventArgs e)
{
var sb = new StringBuilder();
foreach (var line in txtcomputers.Lines)
{
string strhost = line;
if (strhost.Length > 0)
{
Ping pingSender = new Ping();
PingOptions options = new PingOptions();
options.DontFragment = true;
// Create a buffer of 32 bytes of data to be transmitted.
string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
byte[] buffer = Encoding.ASCII.GetBytes(data);
int timeout = 120;
try
{
PingReply reply = pingSender.Send(strhost, timeout, buffer, options);
if (reply.Status == IPStatus.Success)
txtcomputers.ForeColor = Color.Green;
else
txtcomputers.ForeColor = Color.Red;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}