// Allows unlocking the UI after the task is finished, even if run on a seperate thread private void OperationFinished() { if (this.InvokeRequired) { OperationFinishedCallback d = new OperationFinishedCallback(OperationFinished); this.Invoke(d, new object[] { }); } else { MessageBox.Show("Operation Finished"); EnableControls(true); SetTitle("Brawlers Data Load"); } }