CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

c# 窗体中画上去的控件莫明其妙丢失

楼主dhzsir(dhzsir)2005-01-22 16:02:40 在 .NET技术 / C# 提问

我昨刚在VS2003   C#下画好一个窗体,里面放了很多控件,但今天打开电脑,窗体上的很多  
  控件都没了.我的同事也碰到过这种情况.  
   
  不知哪位高手碰到过这种问题,是不是C#的BUG 问题点数:100、回复次数:20Top

1 楼cncca(来个可乐 9_9)回复于 2005-01-22 16:15:57 得分 0

没碰到过!!Top

2 楼Johnyin(境由心生...)回复于 2005-01-22 16:23:54 得分 0

检查:  
  1.是否保存。  
  2.是否为继承窗体。  
  3.查看窗体代码——设计器产生的代码,看里面是否有产生控件的语句。Top

3 楼mars131(自由自在131)回复于 2005-01-22 16:35:52 得分 0

丢控件是常有的事情,所以备份很重要。首先要看看在代码里面有关丢失控件的代码是不是还在,如果在那其实就是界面上没有显示出来,最好是把文件从工程中排除,然后在包含近来。如果连代码都没有了,就再拉进去把:)Top

4 楼FJGoodGood(_FJ_强中强)回复于 2005-01-22 16:37:04 得分 20

碰到过   N   次!!!!!!  
   
  其原因大概是这样的:  
   
  界面里用了自己写的   UserControl(在同一个方案的另一个工程里),半中间修改了   UserControl   的代码,编译失败,没有管它;一段时间后,重新打开方案,就会发现这些界面里的UseControl控件全都没了。。。  
   
  解决方法:  
   
  第一:出现这种情况,千万别保存(这是.Net的BUG),关闭那些丢失了控件的页面(不保存)  
  第二:立即把   UserControl   库重新编译,如果有错,赶紧改正,直到编译成功;  
  第三:关闭方案,再重新打开方案,进入那些页面一看,好了~~~Top

5 楼cdo(Everything has a favourable turn)回复于 2005-01-22 16:40:09 得分 0

遇到过同样的情况,只是在设计的时候看不到,代码还是有的,你编译出来的也有。具体原因我也不知道Top

6 楼broadury(marvel)回复于 2005-01-22 17:03:34 得分 0

有这种情况,应该是微软IDE的解析代码的bugTop

7 楼kdg2000(小刚)回复于 2005-01-22 20:53:19 得分 0

>>3.查看窗体代码——设计器产生的代码,看里面是否有产生控件的语句。Top

8 楼Programer_Zjw(阿伟)回复于 2005-01-22 22:35:05 得分 0

注意以下问题:  
  1.是不是没有保存。  
  2.是否有产生控件的代码。Top

9 楼FlashElf(銘龘鶽)回复于 2005-01-22 23:55:43 得分 20

这种问题多半是使用一些   第3方控件  
  或自己写的控件引起的。  
  这种问题   设计器里没有东西   但   代码不丢  
  ----------------------------------  
  如果是上面的   重新编译   一下   控件在打开工程  
   
  如果是连代吗都没了   那就没办法了。Top

10 楼ghghzzzz(ghghzzzz)回复于 2005-01-22 23:59:18 得分 20

这种问题多半是使用一些   第3方控件或自己写的控件引起的。这种问题   设计器里没有东西   但   代码不丢如果是上面的重新编译一下控件在打开工程  
  Top

11 楼pray1997(pray1997)回复于 2005-01-23 00:00:08 得分 0

ide   bugTop

12 楼egxsun(egxsun)回复于 2005-01-23 13:09:32 得分 0

没有遇到过Top

13 楼leo2003(【健者天行】谁伴我闯荡)回复于 2005-01-23 13:28:46 得分 0

偶也常遇到,  
   
  一般是继承窗体、自定义控件  
   
  Top

14 楼cnming(cnming)回复于 2005-01-23 13:33:53 得分 0

InitializeComponent函数里头有错误语句,导致退出,就没有加载所画的控件了  
   
   
  解决方法:在你不熟悉的情况下,尽量不要去手工修改里头的代码Top

15 楼CSTerry(Terry)回复于 2005-01-23 14:34:10 得分 0

我遇到过一次……也是自定义控件Top

16 楼timiil(小华)回复于 2005-01-23 16:16:22 得分 40

确实是InitializeComponent函数里边的问题,但我用过Infragstics的控件集和DevExpress的控件集,根本没有惊动InitializeComponent他老人家,可还是会出现莫名其妙的控件丢失的!!!  
        这个问题一直相当的困扰。   多数情况是因为用了第三方或自己编写的控件时候会发生,而且Winform和Webfrom都会发生!    
        我的猜想这是VS   IDE的一个Bug,   而罪魁祸首是CopyToLocal属性!!!   如我有一个Winform的工程,使用了大量的Winform   商业控件,设计的时候一直没什么问题,待我要发布的时候,当然大家都会把引用的商业控件设置CopyToLocal属性为True,然后以Release编译。。。  
        但当编译后关闭IDE,再重新打开IDE,就会“惊喜”地发现设计器窗体上东西都丢失了,只剩一个红色的大叉。。。  
        所以我现在的解决办法就是Release发布之前备份,编译后直接把这份代码删掉,恢复控件引用都是CopyToLocal=False的时候的代码版本继续开发。自从这样“备份-发布-恢复”之后,再没有遭遇“惊喜”了。  
        不知各位高人以为如何呢?  
  Top

17 楼dhzsir(dhzsir)回复于 2005-01-23 17:29:05 得分 0

看到这么多高手帮忙真是高兴.  
   
  各位高手我用的都是微软自带的标准控件.  
  我打开  
  查看窗体代码——设计器产生的代码,里面控件定义部分少掉很多.  
  而控件初始及定位语句也丢失了大部分.  
   
   
  Top

18 楼gyf19(秋天的云)回复于 2005-01-23 20:14:57 得分 0

没有遇到紧,解法的方法就是备份Top

19 楼tmp1804()回复于 2005-01-23 20:22:36 得分 0

把项目文件.sln等删除,再编译创建Top

20 楼dhzsir(dhzsir)回复于 2005-01-23 20:41:07 得分 0

是窗体中的控件定义代码都没了呀.晕.Top

相关问题

  • C#主窗体有控件,控件会挡住子窗体!
  • 窗体中控件莫名其妙丢失? (vb6.0)
  • c# 如何让窗体控件随窗体缩放自动适应尺寸。
  • C/s下如何在一个窗体中操作另一个窗体的控件?
  • 如何在C#里向一个窗体添加控件数组?
  • 一个难题:关于C#窗体控件
  • C#中对别的进程主窗体的控件扫描
  • 在c/s下的window窗体中怎样循环控件
  • c#获取窗体中所有PictureBox控件??
  • C# 中如何在窗体运行后动态改变窗体控件的大小

关键词

  • c#
  • 控件
  • 代码
  • 编译
  • 语句
  • 界面
  • 解决
  • 窗体
  • 丢失
  • copytolocal

得分解答快速导航

  • 帖主:dhzsir
  • FJGoodGood
  • FlashElf
  • ghghzzzz
  • timiil

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo