叨叨一下vs2005 winform 窗体上所有控件突然消失的问题

本文介绍了在Visual Studio 2005 (VS2005) 中遇到的一个Winform窗体所有控件无故消失的问题。尽管该问题可能由于VS的bug导致代码丢失,但通过检查和对比`InitializeComponent`方法,作者发现了控件添加到Controls集合的代码缺失。修复关键在于恢复`this.Controls.Add(this.toolStrip1); this.Controls.Add(this.menuStrip1);`这两行代码,以及控件的Click事件。作者指出,尽管在Web开发中较少遇到此类问题,但在CS环境下这类bug仍然存在,并计划继续整理类似问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 症状:窗体关闭时或者窗体代码确定没有被自己主动修改或者丢失(比如剪切,删除)的状况下,再打开这个窗体发现窗体上所有控件全部消失,窗体变成初始化时大小,但后台逻辑代码都还在.

 

事件发生规律:无规律.........出现过好几次,新系统老系统都有

 

分析给解决办法:

在百度里搜索"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,以后慢慢整理吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值