Start long process after modal dialog popup
===

I have a modal dialog with a cancel button only which pops up when the user clicks on a button. Aftre the modal dialog pops up, I would like to start a long process which monitors external event. If the event happens, then the dialog will be closed automatically. The user can cancel the monitoring process by clicking the cancel button. 

I assigned the process start to the Shown event

           private void ProceedForm_Shown(object sender, System.EventArgs e)
            {
                controller.StartSwiping();
            }

The process itself is a loop

            public void StartSwiping()
            {           
                Status status;
                do
                {
                    status = CallForFeedback();
                } while (status == Status.Pending);           
                form.DialogResult=DialogResult.OK;
                form.Close();
            }

The process starts fine, but the dialog does not pop up, so the user can non cancel the process. I also tried to assign the start to the Load event, but nothing changed.
Is there any way to Show the dialog and after that start the process?

Thanks

