昨天发生了一件触目惊心的事情,让人简直无法接受。其实前天晚上一整晚都在编程,一直编到了早上五点钟才睡下,但是九点钟的时候因为要开会所以睡了大概不到四个小时的时间,一天很疲惫啊。昨天下午到教室把毕业设计的程序展示给这个毕业设计题目的主人看(其实我是在帮别人做毕业设计,嘘,不要声张)。
不过最让人不能接受的一幕就发生在快要离开教室的那一刻,当时正在准备给这份程序的主人拷贝这份毕业设计的程序,但是突然电脑黑屏了,我意识到了什么。原来我的电源没接上电,现在电池里的电用完了。我赶忙插上插座,但是意想不到的事情发生了,我的程序里面的主窗体文件的CS文件损坏了,这份CS文件是我设计的程序的主要代码所在。我用VS打开这个窗体的设计窗体时提示说未安装CS类型的编辑器类似的提示;后来我又用Notepad打开这个文件看了一下,发现这份CS文件里面什么都没有,只能看到很多个NULL。也不知到为什么,之前的文件我是保存了的,但是突然死机应该不会一下子把程序弄丢了吧,很郁闷,看了其他的文件都是好的,就这份主要的代码所在的文件内容丢失了,这里面可全是关键代码啊,是我花了整整一个大晚上的时光编写的呀。
经过多次网上查找实在找不到好的办法了,就是用了最土鳖的方法进行了恢复,这种方法不能够将你的关键代码找回,但是可以恢复主窗体文件,也就是可以恢复原来的界面,只是代码没有了。不过能够恢复界面也是很好了,省去了很多的界面设计的功夫。如果你想要的是连同关键代码一起恢复,抱歉,我也做不到啊!
再次还需要提醒一下,一定要记得及时备份文件,这样就可以防止上述事情发生了。
再修改前,请先备份一份项目文件,以避免修改过程中出现意外情况,虽然一般不会发生。
打开损坏的CS文件,这个CS文件就是你敲的代码的那份文件。之后在里面输入以下文本:
1 | using System; |
这里还需要注意一点using文件里可能有些你使用的引用没有,这里的文件是创建窗体时自动生成的代码。此外如果你还需要修改以上代码中的相应的代码名称。
之后打开窗体设计界面会发现提示如下图的错误:
没关系,这很简单,其实就是你原本的CS文件中已经创建了控件的事件,但是这里检测到CS文件中不包含这些事件,所以就提示错误了,因此只需要继续添加这些事件的函数即可。
使用VS打开刚才编辑的那个CS文件,可以在解决方案资源管理器里面打开。之后根据这个窗体的设计界面,如上图中的错误提示,将上述中提示的未知名称替换下列代码中的MainForm_Load即可,然后拷贝替换后的代码到CS文件中。
- private void MainForm_Load(object sender, EventArgs e)
- {
- }
这里不能够完全恢复窗体的代码,例如你在这个窗体中写的一些函数这时是无法恢复的,以及这些事件内的代码也是无法恢复的,这种方法仅能够恢复设计界面,如果你有更好的办法请告知,这样可以帮助更多的出现类似情况的小伙伴了。
要记得备份呀!否则心血全白费了。