sxl_88 2015-03-30 08:11 采纳率: 50%
浏览 2159
已采纳

C# winform项目,退出应用程序时,报"集合已修改,可能无法执行枚举操作。"错误信息。

在C# winform项目中,有两个form窗体(form1、form2),在form1中有个两个button按钮。
在form1窗体中,点击button1弹出一个form2窗体,点击button2退出整个应用程序。

目前遇到的问题是,在form1窗体中点击button1弹出一个form2窗体后再点击button2退出整个应用程序时,报"集合已修改,可能无法执行枚举操作。"错误信息。

请问如何修改退出整个应用程序代码,谢谢!

附点击button1弹出一个form2窗体代码:

form2 frmmess= new form2();
Point pi = new Point();
Point p1 = label1.PointToScreen(label1.Location);
Point p2 = label1.Location;
pi.X = System.Convert.ToInt32(p1.X - p2.X) + 20;
pi.Y = System.Convert.ToInt32(p1.Y - p2.Y) + 20;
frmmess.Location = pi;
if (frmmess == null || frmmess.IsDisposed)
{
frmmess = new FrmMessage();
}
frmmess.Show();

附点击button2退出整个应用程序代码:

System.Windows.Forms.Application.Exit();

  • 写回答

3条回答

  • threenewbee 2015-03-30 12:06
    关注

    你有别的线程么?主线程关闭,但是别的线程试图调用,会出这个错。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器