Я создал кнопку для запуска таймера, и интервал таймера равен 1000. Я добавил обработчик события timer_Tick (), но он не работает, я не понимаю причину.
Вот мой код:
void button1_Click(...)
{
this->timer->Start();
for( int i = 0; i < 1000; i++ )
Thread::Sleep(1000);
this->timer->Stop();
}
void timer_Tick(...)
{
this->textBox->Text = "njmk"; // only to handle while debugging but it is not handled
}
Примечание: я добавил это:
this->timer->Tick += gcnew System::EventHandler(this, &Form1::timer_Tick);
РЕДАКТИРОВАТЬ:
ОК, я постараюсь объяснить свою проблему ясно.У меня есть основная форма, и в строке состояния у меня есть toolstripprogressbar
.
Когда я нажимаю кнопку, функция начинает анализ файла, и индикатор выполнения должен отображать ход выполнения функции.Так вот мой код:
void button_click(...)
{
this->progressBar->Visible = true;
this->backGroundWorker->RunWorkerAsync();
}
void backGorundWorker_DoWork(...)
{
this->timer->Start();
ParseFunction(); // it takes about two minute
this->timer->Stop();
}
void timer_Tick(...)
{
this->bacGroundWorker->ReportProgress(5);
}
void backGroundWorker_ProgressChanged(...)
{
this->progressBar->Value += e->ProgressPercentage();
}
void backGroundWorker_RunWorkerComplete(...)
{
this->progressBar->Visible = false;
}