//En el Load del formulario disparo el inicio del proceso y este llama al evento
//DoWork del control backgroundWorker1
/*********************************************
private void Form1_Load(object sender, EventArgs e)
{
this.backgroundWorker1.RunWorkerAsync();
}
/*********************************************
//Este evento nos sirve para se dispara al iniciar el proceso asincrono
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
// Aqui invocamos al Web Service o cualquier cosa que queramos hacer
localhost.Service lh= new localhost.Service();
//Decimos que el resultado de esto que para nuestro caso va a ser el Dataset que
//nos devuelve el Servicio Web sera el retorno de nuestra operacion
e.Result = lh.SacarDatos();
//Si queremos provocamos el Evento ProgressChanged del
//control backgroundWorker que nos servira a su vez para cambiar o
//actualizar los valores del pogressBar
//Activar siguiente linea si se desea disparar evento ProgressChanged
// backgroundWorker1.ReportProgress(X_valorPorcentual);
}
/*********************************************
//Este metodo se dispara cuando se finaliza el proceso asincrono
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
//Cargamos en una variable tipo Dataset el resultado
DataSet ds = (DataSet)e.Result;
//El Dataset asignamos al dataGridView
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
// La siguiente linea pone a progressBar1 como completado
//this.progressBar1.Value = this.progressBar1.Maximum;
}
/*********************************************
//Este evento se dispara solo si en el Evento DoWork se habilito
//la linea " backgroundWorker1.ReportProgress(X_valorPorcentual); "
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
//progressBar1.Value = e.ProgressPercentage;
}
/*********************************************