Is there a way to stop, or make it very difficult for someone to use
reflection, and decompile a forms application?
There are several available.
Jason has posted a link to a page that lists
some of the many options.
But is it worth the effort?
If it is just general code, then reimplementing from scratch
based on required functionality is usually faster than
decompiling and customizing code without design documentation,
comments in code, local variable names and the information
in the programmers heads.
If it is some critical code like license scheme, then experience
shows that they get cracked even when using obfuscation (assuming
that the software being protected is good enough to make it
interesting).
Arne