C# 为什么在启动backgroundworker时,它在下载文件时从不进入计时器滴答事件?

C# 为什么在启动backgroundworker时,它在下载文件时从不进入计时器滴答事件?,c#,winforms,C#,Winforms,我有一个启动backgroundworker的按钮单击事件: private void beginOperationToolStripMenuItem_Click(object sender, EventArgs e) { backgroundWorker1.RunWorkerAsync(); } 然后在“我有backgroundworker做工作”事件中: private void backgroundWorker1_DoWork(ob

我有一个启动backgroundworker的按钮单击事件:

private void beginOperationToolStripMenuItem_Click(object sender, EventArgs e)
        {
            backgroundWorker1.RunWorkerAsync();
        }
然后在“我有backgroundworker做工作”事件中:

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            timer2.Enabled = true;
            ei = new ExtractImages(StartTags, LastTags, Maps, localFilename, UrlsPath);
        }
我使用了一个断点,它执行timer2。Enabled=true;线路。 但是,第二行下载了很多文件,我看到它确实下载了这些文件

但我也有一件事:

private void timer2_Tick(object sender, EventArgs e)
        {
            counter++;
            label4.Text = counter.ToString();
        }
但是它从另一个类下载文件后,就再也无法访问timer2 tick事件

我想运行一个计时器,看看下载所有文件需要多少秒


如何使它下载文件并计算timer2滴答事件中的秒数?

需要记住的一些事情

  • 您必须设置
    计时器的间隔
  • 您还可以执行
    timer2.Start()