【Dongle】【VS】之窗体异常

        我们在VS中设计窗体的时候,经常会遇到窗体异常,然后窗体进不去的现象,我不知道大家的情况,但是我经常遇到这种状况。尤其是在datagridview绑定数据源和报表绑定数据源的时候经常容易出现这个问题。

错误        

        如下图


解决过程

        后来,经过我的查找和验证,原来不止datagridview和报表会出现这种情况,其实在每个窗体中都会出现这种异常。查到的结果就是窗体上的控件和窗体设计器的代码不相符,从而导致出现异常。

        例如,在窗体上,我有一个textbox了空间,如果我们不小心进入到了窗体设计器代码中,就是".Designer.cs"后缀的代码中,将这个textbox的方法给删掉

        然后,再次点开窗体的时候就会出现第一幅图的异常。我记得在机房重构的时候,遇到这种问题就会直接将窗体删了,再重新添加,也没觉得有什么。后来验收的时候,师傅也问过,我说知道,然后也没细问。

       在机房合作的时候,我又遇到了这种问题,突发奇想,会不会有什么更简单的解决方式?我见异常上面有个忽略并继续的提示,然后就尝试了一下:


         最终窗体是出来了,但是结果就是这样的:

         这不跟我重建一个样吗,不合适。再然后,我尝试点击了一下提示的错误实例,这是后才发现这个".Designer.cs"后缀的不同。


        然后这个后缀是代表什么呢?我们平常的代码与它有什么不同呢?后来我就来回在窗体这里返回,经过各种点,点出来个窗体设计器这么个玩意。


  

          进来之后就看到了一条红线,红线就是一个错误呗。这有啥,按照提示先解决了,反正我也不知道是啥……




         然后这个方法是生成了,窗体也可以进去了,这下可以松口气了,解决了一个新问题,很是兴奋。



        但是结果就不让我高兴了,因为运行的时候又存在异常,错误异常直接指示到了我刚刚生成的方法哪里,里面有这么一条语句“throw new system.NotImplementedException()”,这不是扔出异常吗?那它该写什么内容呢?

       忽然想起,我开始删掉的方法里面是没有任何代码的,所以就将这一条语句删掉了:


       最终是彻底没有问题出现了,这才真正的松了气。


查找结果

        通过百度了一番,好好认识了一下".Designer.cs",才了解到这个后缀的文件是设计文件,是系统自动生成的。比如我们在窗体上拖拽一个控件,这个文件中就会自动生成对应的控件的相关代码,如果将这些相关代码删掉,而窗体上的控件又不删除,那么就会出现文章开始的那样的异常错误。

         

        我个人理解就是这些控件导了窗体上,那么这些控件就好比是窗体这个整体的属性,那么与控件相关的代码就是窗体设计代码,如果将这些代码删掉,而控件没删掉,这就好比外表存在控件,而内部不存在,这就回产生冲突,而系统对于这种冲突才不会给你调试,直接就会生气的报给你“异常”。

       所以,先照顾好了系统再想着让系统干活吧!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值