У меня есть приложение, которое импортирует записи Excel в пользовательский интерфейс для чтения данных. Этот импорт занимает много времени, поэтому я пытаюсь внедрить индикатор выполнения, чтобы пользователь мог видеть прогресс.
Сначала я сделал это во внешней форме, и все работало нормально. Теперь я изменил его на индикатор выполнения в форме загрузки, и вдруг он не работает. Все, что я сделал, это отправил ссылку на форму из моего исходного листа класса. Вот код, который делает индикатор выполнения.
Единственное изменение, которое я сделал в этом коде, это изменение на "OpenForm", поскольку это новая полоса прогресса. Я знаю, что этот код установит индикатор выполнения на 20 и не будет двигаться после этого. Это работало над формой, которая имела только индикатор выполнения, однако на этом он не работает. Я что-то упустил?
OpenForm.progressBar1.Minimum = 0;
OpenForm.progressBar1.Maximum = 100;
OpenForm.progressBar1.Step = 1 / 50;
for (int row = 8; row <= 50; row++)
{
IssueRef.Add(ExcelWksht1.Cells[row, 1].Value.ToString());
Date.Add(ExcelWksht1.Cells[row, 4].Value.ToString());
Status.Add(ExcelWksht1.Cells[row, 2].Value.ToString());
Severity.Add(ExcelWksht1.Cells[row, 9].Value.ToString());
Text.Add(ExcelWksht1.Cells[row, 3].Value.ToString());
decimal ProgressVal = ( 10m /50m) * 100m;
int Val = Convert.ToInt32(ProgressVal);
OpenForm.progressBar1.Value = Val;
OpenForm.progressBar1.Refresh();
}