Winform项目中出现 "已经可见的窗体不能显示为模式对话框。在调用 showDialog 之前应将窗体的 Visible 属性设置为 false"异常解决方法!

发布时间 2023-08-24 10:00:54作者: 新凉别处暑

1 问题描述

  • 最近做一个winform项目,启动程序弹出的加载进度窗体时,发生如标题所示的异常。

2 尝试debug

  • 根据异常提示,在进度窗体弹出前添加代码 Visable=false; --未解决
  • 逐步debug调试发现Form弹框运行了2次,由此查出bug所在。由于我是用的单例模式,在Program.cs中运行的还是 new Form().
  • 解决方法:把Program.cs中的 new Form()代码更换成Form.Instance即可。

3 附图

  • 异常图
  • debug图

4 结尾

  • 好记性不如烂笔头。