private void doStartMining() { new Thread(() => { MiningState = Miner.DoStartMining(MiningState, OutputHandler); BeginInvoke(new Action(() => { if (MiningState) { btnStartMining.Text = "Stop Mining"; doStartPoolChecking(); } else { btnStartMining.Text = "Start Mining"; txtCmdOutput.Text = ""; isPoolChecking = false; } })); }).Start(); }