public void Process(List<FileInfo> items) { torrents = items; Busy = true; lock (locker) { dataGridViewProgressBar.Visible = true; StatusLabel.Visible = true; } if(!dh.IsBusy && items != null) { dh = new DirectoryHandler(); dh.RunWorkerCompleted += new RunWorkerCompletedEventHandler(DirectoryWorkerCompleted); tb.RunWorkerAsync(torrents); dh.RunWorkerAsync(); } }