Basically, the rule of spearating declarations and implementations into .h and .cpp files applies to C++/CLI as well, it's just the Windows Forms Designer that doesn't care much about that. :cry: As you correctly observed, it doesn't even create a .cpp file for the
Form1 that initially gets created for a new Windows Forms project. You'll notice, however, that it
will create .cpp files for further forms you add to the project, but then later ignore them and still place event handler implementations in the .h file. (However, even if they're almost empty, these .cpp files aren't useless: Their purpose is to be compiled as part of the project and include the .h file that otherwise wouldn't get compiled at all.)
Keeping up the separation of declarations and implementations demands some manual work as described in
http://www.codeguru.com/forum/showthread.php?p=2032109 but that will become familiar after some time and won't be really tideous anymore then. The topic has been discussed around here some times and
http://www.codeguru.com/forum/showthread.php?p=2032707 (that originally is about a different topic, however) has attached a tiny sample project that may demonstrate what proper separation looks like.
Note that separating implementations from declarations not just is good style, it also has substantial benefits: For instance, it is a probate way of fighting the quite common circular inclusion problem (many discussions about which can be found around here using a forum search). In larger projects it may also notably reduce build time.