Попробуйте вызвать этот метод в конце события FormLoad , элемент управления должен завершить загрузку к тому времени. Если это не так, вам может потребоваться выполнить некоторые проверки и, возможно, создать пользовательское событие, которое срабатывает, когда вы счастливы, что оно готово.
Другое решение состоит в том, чтобы иметь кнопку, которую пользователь должен нажать, чтобы запустить обработку, которую он сможет нажать только после того, как все загрузится
РЕДАКТИРОВАТЬ: Причина, по которой это похоже на то, что это происходит, заключается в том, что вы запускаете процесс одним из методов загрузки элемента управления, который, как я полагаю, не является последним элементом управления для загрузки, поэтому он начинает обработку до другие элементы управления могут загружаться. Сделайте метод StratProcess
общедоступным и вместо этого вызовите его в методе FormLoad
родительской формы, например:
private void ParentForm_Load(object sender, EventArgs e)
{
FeatureRemovalControl.StratProcess(); // Should it be called StartProcess instead?
}
Остерегайтесь, хотя он все еще выполняет обработку в потоке пользовательского интерфейса, поэтому экран может «зависать», пока это происходит, поэтому я советую переместить его в фоновый поток, как предлагали другие.