private BackgroundWorker bw
= new BackgroundWorker
();
private void Form1_Load(object sender, EventArgs e)
{
bw.WorkerReportsProgress = true;
bw
.DoWork += new DoWorkEventHandler
(bw_DoWork
); bw
.ProgressChanged += new ProgressChangedEventHandler
(bw_ProgressChanged
); bw.RunWorkerAsync();
}
void bw_DoWork(object sender, DoWorkEventArgs e)
{
BackgroundWorker worker = sender as BackgroundWorker;
Ping prueba
= new Ping
();
foreach (string a in lista)
{
worker.ReportProgress(0, lista[i]);
worker.ReportProgress(0, "...");
try
{
PingReply respuesta = prueba.Send(lista[i], 100);
if (respuesta.Status == IPStatus.Success)
{
worker.ReportProgress(0, "OK");
}
else
{
worker.ReportProgress(0, "error!");
}
}
catch (PingException ex)
{
worker.ReportProgress(0, ex.InnerException.Message);
}
worker.ReportProgress(0, "rn");
i++;
}
}
void bw_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
string dato = e.UserState.ToString();
pantalla.Text += dato;
}