最近在使用Visual Studio 2010时几次遇到,之前运行得好好的功能突然无效了,几经查找之下发现,Designer.cs里控件本已添加好的事件莫名其妙丢失了,比如timer_Tick、listView_SelectedIndexChanged等,后来无奈升级到Visual Studio 2015,竟然也发生了一次。。请教各位达人有遇到过的吗,究竟是什么问题,有解决的办法吗?谢谢!

解决方案 »

  1.   

    补充一下,在窗体源码文件里,这些事件的实体还在,就只是Designer.cs里timer.Tick += new System.EventHandler(this.timer_Tick);这一行莫名其妙就丢了。
      

  2.   

    这些对应着你在 vs 的“设计”窗口的操作,你删除属性/事件窗口上面的一项,designer 中的代码才会消失。
      

  3.   

    求人不如求己
    既然你觉得是 vs 的问题,何不自己写上 timer.Tick += new System.EventHandler(this.timer_Tick);
    而去依赖 vs 替你写?
    何况你也没有遵守 vs 的约定,将 Timer 控件命名为 timer1、timer2、timer3....
      

  4.   

    不是BUG,这是剪切控件造成的,剪切的时候会把事件绑定给删除掉,粘贴回去不会帮你恢复。
      

  5.   

    最好手动写,在Load方法绑定事件