public WorkerControl() { InitializeComponent(); state = new ToolStripLabel(); timeSpent = new ToolStripLabel("done (0s 00ms)") { Alignment = ToolStripItemAlignment.Right }; progress = new ToolStripProgressBar { Alignment = ToolStripItemAlignment.Right, Maximum = 100, Minimum = 0, Step = 1 }; progress.UpdateVisible(false); state.UpdateText(ReadyText); works = new Queue <WorkArgument>(); worker = new BackgroundWorker(); worker.WorkerReportsProgress = true; worker.WorkerSupportsCancellation = true; worker.DoWork += WorkerDoWork; worker.ProgressChanged += WorkerProgressChanged; worker.RunWorkerCompleted += WorkerRunWorkerCompleted; AddToolStripItems(); _shouldStop = false; }