Я использую MDI и дочерние формы. В MDI-форме я поместил элемент управления индикатора выполнения полосы инструментов, чтобы показать ход выполнения некоторых действий в дочерних формах. Я использую приведенный ниже код для запуска индикатора выполнения. Но это не работает. Пожалуйста, помогите мне.
В форме MDI,
public void UpdateProgessBar(int currentCount, int targetCount, Color progressBarColor)
{
toolStripProgressBar.ForeColor = progressBarColor;
if (targetCount > 0 && currentCount > 0)
{
double progressBarValue = ((double)currentCount / targetCount) * 100;
if (progressBarValue >= 0)
{
Invoke((MethodInvoker)delegate ()
{
toolStripProgressBar.Value = Convert.ToInt32(progressBarValue);
});
}
}
else
{
Invoke((MethodInvoker)delegate ()
{
toolStripProgressBar.Value = 0;
});
}
}
В форме ребенка,
MDIParent mdiParent = new MDIParent();
mdiParent.UpdateProgessBar(1, 1, Color.LimeGreen);
Я получаю сообщение об ошибке как
"System.InvalidOperationException: 'Невозможно вызвать Invoke или BeginInvoke для элемента управления, пока не создан дескриптор окна.'"
Пожалуйста, помогите мне разрешить это.