Timer.Tick не запустит новый EventHandler - PullRequest
0 голосов
/ 08 мая 2019

У меня есть этот таймер, который будет рассчитывать на 10 секунд. Я хочу, чтобы индикатор прогресса показывал, сколько времени это займет и т. Д., Это может быть 10 секунд сейчас, но это может быть динамично в будущем.

private void button1_Click_1(object sender, EventArgs e)
{
    dataGridView1.DataSource = null;
    labelCapture.Text = " ";
    buttonCapture.Enabled = false;
    labelCapture.Text = "Measuring for 10 seconds...";
    timerCapture.Interval = 10000;
    timerCapture.Enabled = true;
    UseWaitCursor = true;
    timerCapture.Start();

    Program.ModalForm.progressBarFormModal.Maximum = 10;
    timerCapture.Tick += new EventHandler(timerCapture_Tick);

    capture = true;

    myFormModal.ShowDialog(this); // Where I open the ModalForm
}

и мое событие выглядит следующим образом

void timerCapture_Tick(object sender, EventArgs e)
{
    if (Program.ModalForm.progressBarFormModal.Value != 10)
    {
        Program.ModalForm.progressBarFormModal.Value++;
    }
    else
    {
        timerCapture.Stop(); 
    }
}

как закрывается модальная форма

    private void TickToggle(object sender, EventArgs e)
    {
        capture = false;
        timerCapture.Stop();
        UseWaitCursor = false;
        timerCapture.Enabled = false;

        myFormModal.Close(); // Close the modal form after timer is done
    }

Кто-нибудь видел ошибку, которую я мог пропустить?

...