Cómo usar BackgroundWorker en C #

¿Cómo utilizar BackgroundWorker en C #?

Actualmente estoy realizando una operación de llenado de un formulario PDF a partir del método llamadofill(). Lleva más tiempo mostrar el resultado en pdfviewer, así que decidí mostrar una 'imagen de procesamiento' con un trabajador de fondo, y traté de usarlo pero no lo conseguí.

Aquí está mi fragmento de código:

        private void bgwLoadFile_DoWork(object sender, DoWorkEventArgs e)
        {
            this.Invoke((MethodInvoker)delegate()
           {
               ???? 
           }); 
        }

        private void bgwLoadFile_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
          if (e.Cancelled == true)
          {
          }
          else if (e.Error != null)
          {
          }
          else
          {
           picLoading.SendToBack();
          }
       }

Método de relleno se llama cuando el botónLLENAR se ha hecho clic

private void btnFill_Click(object sender, EventArgs e)
        {
            if (btnFill.Text == "Fill")
            { 
                bgwLoadFile.RunWorkerAsync();
                picloading.BringToFront();

                Fill();
            }

La declaración de wat debería necesitar agregar el método DoWork, si intento agregar el relleno FILL () se llama dos veces ...

Puede alguien ayudarme

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta