如何使用其名称查找backgroundworker的对象?对于控件,我可以使用Find来根据其名称访问控件:
Control Control = this.Controls.Find(ControlName, true)[0];
背景工作者和/或计时器怎么样? Controls.Find无法找到它们。
答案 0 :(得分:3)
这是不可能的,因为没有公共对象可以跟踪对背景工作者或计时器的引用。
您可以自己存储对所有后台工作人员的引用:
public static List<BackgroundWorkers> Workers {get; set;}
static()
{
Workers = new List<BackgroundWorkers>();
}
创建工作时保存对worker的引用:
BackgroundWorker worker = new BackgroundWorker();
Workers.Add(worker);
您还可以通过在Dictionary<string, BackgroundWorker>
BackgroundWorker worker = new BackgroundWorker();
Workers.Add("workerName", worker);
BackgroundWorker myWorker = Workers["workerName"];
答案 1 :(得分:2)
没有办法做到这一点,只是保留对BackgroundWorkers的引用,没有其他办法。