From Form File Loading Errors:

Quote Originally Posted by MSDN
When Visual Basic loads a form into memory, it first converts the form to binary format. When you make changes to the form and save the changes, Visual Basic rewrites the file in ASCII format.
When VB saves a FRM file, it first fills it with spaces before writing the actual code. I'm afraid VB never got the chance to completely save your FRM file when your PC shut down. In that case, unless you had a backup somewhere, your code is gone forever. File recovery tools won't help much because all they'll see are the blank spaces.

This also happened to me before several times already. Now, I always make a backup of all the project files under a "BAK" subdirectory whenever I save the project prior to running in the IDE. In addition to that, I also embed the whole project as resources in the compiled exe for redundancy.