我刚刚在我们的代码库中以一种形式找到了这个 gem。我想我已经知道了这个问题的答案:我很确定在后台线程中调用 MessageBox.Show 是一个糟糕的主意,但是有人可以为我确认和澄清吗?
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (_FileScanner.IsSending)
{
Trace("Cannot close form because: Transferring files.");
e.Cancel = true;
Task<DialogResult> t = Task.Factory.StartNew(() => MessageBox.Show("Transferring files"));
return;
}
}