Мое приложение - это приложение на C # Windows. Когда пользователь нажимает кнопку «Создать», мое приложение создает новый поток и запускает новый процесс, процесс идет примерно так: псевдокод ниже
Loop counter = 1 to N
progressbar = counter/N
Display msg on label1
Do some tasks
Loop
progressbar = 100%
Display msg on lable1
Я делегировал свои сообщения панели процессов и метки, сообщения появляются, когда он находится внутри цикла без проблем. Я даже добавил событие для запуска Application.DoEvents () всякий раз, когда изменяется текст метки, однако мое последнее сообщение НИКОГДА показывает, что я пытался разместить Application.DoEvents () сразу после последней метки сообщения, но решения не найдено. Кто-нибудь еще сталкивался с этим раньше?
Спасибо за помощь всем!
Редактировать
Вот как я закодировал мою последнюю MSG (та, что после цикла)
this.BeginInvoke((MethodInvoker)delegate()
{
toolStripProgressBar1.Value = 100;
btnCancel.Enabled = false;
btnBrowse.Enabled = true;
btnSaveTo.Enabled = true;
btnGenerate.Enabled = false;
// Performance testing
lblGeneratingInfo.Text = "Generation Complete! Total Run time: " + DateTime.Now.Subtract(startDate).ToString();
});
ИСПРАВЛЕНО:
Я предполагаю, что текст, который я пытался отобразить, был слишком длинным ... когда я заменил «Генерация завершена: общее время выполнения» просто «Время выполнения:», он отображал o_o