代码之家  ›  专栏  ›  技术社区  ›  Thakur

根据条件在backgroundworker\u dowwork()中分配工作

  •  0
  • Thakur  · 技术社区  · 15 年前

    在Winform应用程序中,我希望使用一个backgroundworker(或者每个窗体都有一个backgroundworker)对不同的事件执行不同的任务。例如:搜索、在网格中加载数据、打开新表单、发送电子邮件、文件传输等。

    如何在backgroundWorker\u dowwork()和backgroundWorker\u RunWorkerCompleted()事件中管理所有这些?

    做这件事的最佳方法/最佳实践是什么?

    1 回复  |  直到 15 年前
        1
  •  2
  •   Øyvind Bråthen    15 年前

    通常,我会用一个参数来校准worker,如下所示:

    backgroundWorker.RunWorkerAsync(<some argument here>);
    

    e.Argument ,根据论点,你知道你想用它做什么。

    如果不需要其他参数,可以使用所需的值创建枚举,如 Search Load 以此类推,并将其传入,然后在DoWork中检查该值以选择要执行的操作。请记住,由于e.Argument是一个对象,因此必须回溯到Dowork中的枚举。

    推荐文章