我的主Form,名为Form1,有一个带有一个事件的类,表明Form1应该被关闭。
当我收到该事件并尝试Close
时,我得到了必须使用control.invoke的例外情况。好吧,我用这段代码打电话,我仍然得到同样的例外:
void Prox_OkEvent(object sender, EventArgs e)
{
if (this.InvokeRequired)
{
callControlhandler c = new callControlhandler(CloseForm);
c.Invoke();
}
else Close();
}
private void CloseForm()
{
try { this.Close(); }
catch (Exception e) { MessageBox.Show(e.Message); }
}
问题出在哪里?谢谢你的帮助
答案 0 :(得分:4)
Invoke
本身调用 Form
。在这种情况下,它会针对c
进行调用。
...试
if (this.InvokeRequired)
{
this.Invoke(new Action(CerrarForm));
}