关于我建议使用的另一个问题
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
while (processingLock)
Application.DoEvents();
}
在 FormClosing 事件中(在完成冗长的计算后, processingLock 立即变为假)。它的目的应该是让应用程序有条不紊地关闭,并且原始发布者没有使用线程。
在我建议的答案中,有人评论说 DoEvents 从来都不好,提供此链接:Use of Application.DoEvents()
我阅读并(我认为)理解了这个问题。在我看来(这仍然是愚蠢的)如果我在 FormClosing 事件中使用上述 DoEvents 则不会发生混淆事件的风险 - 如果无法取消用户的关闭(例如设置 e.Cancel = true) .
我的问题:这是确保应用程序正常终止的有效方法吗?如果不是,为什么?