我对我要提出的问题有一个真实世界的需要,但为了简单起见,我已将问题归结为此。
使用此代码
private void textBox1_Leave(object sender, EventArgs e) {
button1.Dispose();
}
private void button1_Click(object sender, EventArgs e) {
MessageBox.Show("in button 1");
}
运行项目并将光标放在文本框中。 现在点击按钮离开。
通过离开文本框,您可以使按钮处于Disposed状态,但按钮的Click事件位于文本框的Leave事件后面,等待处理。 但是没有文本框了,所以你得到了ObjectDisposedException。
所以,....问题是如何消除排队事件,以便我可以安全地处理按钮。