Winform项目中出现 "已经可见的窗体不能显示为模式对话框。在调用 showDialog 之前应将窗体的 Visible 属性设置为 false"异常解决方法!
1 问题描述
- 最近做一个winform项目,启动程序弹出的加载进度窗体时,发生如标题所示的异常。
2 尝试debug
- 根据异常提示,在进度窗体弹出前添加代码 Visable=false; --未解决
- 逐步debug调试发现Form弹框运行了2次,由此查出bug所在。由于我是用的单例模式,在Program.cs中运行的还是 new Form().
- 解决方法:把Program.cs中的 new Form()代码更换成Form.Instance即可。
3 附图
- 异常图
- debug图
4 结尾
- 好记性不如烂笔头。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南