C# Winform继承窗体打开设计器白屏的一例解决方法
环境VS2017 15.5.4,Win10
开发过程中,发现一些窗体打开设计器会卡死白屏,另外有一些不会,(两者运行时正常),最小化vs后甚至能把工具箱连带搞黑,严重影响开发效率,经过一天多的对比研究,终于解决,
猜测可能是VS的BUG,多年前做VC程序时遇到BUG,向微软提交,微软开发人员也会推诿,这里分享一下解决办法,以免大家踩坑。
重现方法:
1、父窗体类Form1:Form,子窗体类Form2:Form1
2、Form1里加入代码,编译
protected override CreateParams CreateParams { get { const int CS_NOCLOSE = 0x200; CreateParams cp = base.CreateParams; cp.ClassStyle = cp.ClassStyle | CS_NOCLOSE; cp.ExStyle |= 0x02000000; return cp; } }
3、打开子窗体设计器时,子窗体上不管摆什么控件,子窗体都是白屏,用鼠标点击一下有时候能恢复,如果项目中打开窗体多了不能恢复,如果这时候最小化vs,会如上黑屏,影响心情。
解决方法:
在子窗体上拖一个Panel,设置为Fill(注意不能留一点空白,Form2不要设置Padding之类的,只要设置一点就会白屏。),然后所有的新控件都摆在这个Panel上吧。
然后可以解决问题了。测试代码在 QQ群:616945527,博客相关资源,Test(继承窗体白屏),
4、另一种解决办法
原创内容,转载请保留出处
http://www.cnblogs.com/zhaogaojian/p/8440473.html
本博客是个人工作中记录,更深层次的问题可以提供有偿技术支持。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。