由于弹窗语句和主窗体不在一个线程里,子线程无法影响主线程,所以会出现Messagebox弹窗后还能操作主窗体的现象。
可将弹窗语句写成:
this.Invoke((MethodInvoker)delegate { MessageBox.Show("停止操作!", " fail", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning); });
这样弹窗后就不能操作主窗体了。
参考:https://bbs.csdn.net/topics/394746683