为什么在启动后台工作者时,它在下载文件时永远不会进入计时器滴答事件

本文关键字:永远 计时器 事件 滴答 时永 文件 工作者 后台 启动 下载 为什么 | 更新日期: 2023-09-27 18:36:53

我有一个按钮单击事件,我在其中启动后台工作程序:

private void beginOperationToolStripMenuItem_Click(object sender, EventArgs e)
        {
            backgroundWorker1.RunWorkerAsync();
        }

然后在我有后台工作者做工作事件:

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            timer2.Enabled = true;
            ei = new ExtractImages(StartTags, LastTags, Maps, localFilename, UrlsPath);
        }

我使用了一个断点,它确实执行 timer2。启用 = 真;线。但是然后它执行下载许多文件的第二行,我看到它确实下载了文件。

但我也有这个 timer2 tick 事件:

private void timer2_Tick(object sender, EventArgs e)
        {
            counter++;
            label4.Text = counter.ToString();
        }

但是自从从另一个类下载文件以来,它永远不会进入 timer2 tick 事件。

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

我如何让它下载文件并计算 timer2 tick 事件中的秒数?

为什么在启动后台工作者时,它在下载文件时永远不会进入计时器滴答事件

要记住的一些事情。

  1. 您必须设置timer的间隔。
  2. 你也可以做timer2.Start();