using System; using System.Threading; using System.Net.NetworkInformation; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace MyNet { public partial class myNetForm : Form { public myNetForm() { InitializeComponent(); Control.CheckForIllegalCrossThreadCalls = false; Thread t = new Thread(PingStatus); t.Start(); } private void PingStatus() { Ping p = new Ping(); PingReply pr; while(true) { try { pr = p.Send(cbPingAddress.Text); lblErrorMessage.Text = ""; if (pr.Status == IPStatus.Success) { lblPing.Text = pr.RoundtripTime + ""; if (pr.RoundtripTime > 300) lblPing.BackColor = Color.Red; else if (pr.RoundtripTime > 100) lblPing.BackColor = Color.Orange; else if (pr.RoundtripTime > 10) lblPing.BackColor = Color.Yellow; else lblPing.BackColor = Color.LightGreen; } else throw new Exception(pr.Status.ToString()); } catch (Exception ex) { lblErrorMessage.Text = ex.Message; lblPing.BackColor = Color.Red; lblPing.Text = "-1"; } Thread.Sleep(1000); } } private void Form1_Load(object sender, EventArgs e) { } } }