I've done some of this and I would recommend against it.
In my case I had a huge framework library of derived MFC classes that I tried to incorporate WinForms into. Just compiling my existing framework with /clr produced a exe of about 125MB. The linking took about 400MB to build the executable. This is because with
compiling under /clr all the MFC classes produce metadata.
Another way that I haven't looked into is not to compile the app with clr but take advantage of the fact that you can treat clr classes as com objects. This way your existing application is still compiled c++ code but the new WinForms are invoked through com
interop. This would require you to have a seperate assembly for your new WinForms classes.
I look forward to hearing about your progress if you decide to go this route.