Итак, у меня возникли серьезные проблемы с удалением элемента управления из формы моего приложения. Это немного запутано, но я ничего не могу изменить. У меня есть форма, и у меня есть отдельный пользовательский элемент управления. Элемент управления открывает исполняемый файл и показывает индикатор выполнения при загрузке его байтов. И тут возникает проблема. Я делаю все это с помощью BackgroundWorker, и при вызове метода worker_DoWorkerCompleted исходная форма должна отображать MessageBox и удалять элемент управления.
BackGround_Loader bgLoad = new BackGround_Loader();
bgLoad.Location = new Point(this.Width/2 - bgLoad.Width/2, this.Height/2 - bgLoad.Height/2);
this.Controls.Add(bgLoad);
bgLoad.BringToFront();
bgLoad.AddReferences(this.executableFile, this.SourceReader);
bgLoad.occuredEvent();
Сначала я установил расположение элемента управления в середине самой формы. Затем я добавляю элемент управления в форму и выводю его на передний план. После этого я отправляю путь к исполняемому файлу и ссылку RichTextBox на это. С событием occuredEvent я запускаю сам BackgroundWorker. И тут возникает моя проблема. Я должен показать MessageBox в форме, когда в bgLoad фоновый работник получает статус DoWorkerCompleted. Пожалуйста, я понятия не имею, как это сделать. Он работает просто отлично, но управление остается в середине формы.