症状:窗体关闭时或者窗体代码确定没有被自己主动修改或者丢失(比如剪切,删除)的状况下,再打开这个窗体发现窗体上所有控件全部消失,窗体变成初始化时大小,但后台逻辑代码都还在.
事件发生规律:无规律.........出现过好几次,新系统老系统都有
分析给解决办法:
在百度里搜索"vs2005 winform 所有控件突然消失"也会出现一些解决办法,但是没有符合我的这种情况的,但大家一致都认为在*.Designer.cs里的代码因为vs的bug出现了丢失现象,下面把我当时的代码贴出来(节选)
先看Main里面的,很显然,少了很多代码,问题就出现在这了,下面是我修改了以后的代码
比较一下,就发现以下代码没了
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.LightSteelBlue;
this.Controls.Add(this.toolStrip1);
this.Controls.Add(this.menuStrip1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.IsMdiContainer = true;
this.MainMenuStrip = this.menuStrip1;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "LED电子屏施工配件单";
其实最重要的是这" this.Controls.Add(this.toolStrip1); this.Controls.Add(this.menuStrip1);"两句没了.
另外toolStripButton4里也少了一句"this.toolStripButton4.Click += new System.EventHandler(this.toolStripButton4_Click);",就是说控件的Click事件没了,挨个的给每个控件加Click事件也不是件轻松的事情............
总结:vs2005的bug...........
这段事件光做web开发了,没想到cs下还有这么多bug,以后慢慢整理吧