C# Winform继承窗体打开设计器白屏的一例解决方法

环境VS2017 15.5.4,Win10
开发过程中,发现一些窗体打开设计器会卡死白屏,另外有一些不会,(两者运行时正常),最小化vs后甚至能把工具箱连带搞黑,严重影响开发效率,经过一天多的对比研究,终于解决,
猜测可能是VS的BUG,多年前做VC程序时遇到BUG,向微软提交,微软开发人员也会推诿,这里分享一下解决办法,以免大家踩坑。
C# Winform继承窗体打开设计器白屏的一例解决方法C# Winform继承窗体打开设计器白屏的一例解决方法

重现方法:

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、另一种解决办法
C# Winform继承窗体打开设计器白屏的一例解决方法

原创内容,转载请保留出处
http://www.cnblogs.com/zhaogaojian/p/8440473.html

上一篇:[lintcode 14] First Position of Target


下一篇:Android仿腾讯手机管家实现桌面悬浮窗小火箭发射的动画效果