Although your question is not clear, the following might be useful if you need to keep an handle to a managed type Inside your native class.
How to: Declare Handles in Native Types[
^]
If only some files are commpiled as managed, then usually you will either use 2 distinct pre-compiled header files or uses them only for native code file (those compiled without /clr option).
Even though I have done mixed mode programming, all the interface was managed in my case. If forms are used like a dialog, then it should not be hard to use them from your application but you might want to implement IWin32Window interface for ownership purpose...
Otherwise, if the UI is intended to be used Inside an MFC dialog, then I think that it should be user control on managed side (best to use C# for that) and they probably should be exported as Active/X controls. I have no experience into that but using Google, you should be able to do that. Here are some ot the top results for the search
uses c# user control as activex
:
http://www.codeguru.com/csharp/.net/net_general/comcom/article.php/c16257/Create-an-ActiveX-using-a-Csharp-Usercontrol.htm[
^]
http://www.telerik.com/support/kb/winforms/details/wrapping-a-net-user-control-as-an-activex[
^]
http://stackoverflow.com/questions/7409433/expose-a-winforms-usercontrol-as-an-activex-control[
^]
If the page class you are creating is to be used Inside a stand-alone dialog that is not used by any MFC page, then in that case, I think it would preferable to make the whole dialog in C#.
You might have to do some special handling to properly handle messages if you have a mixed UI for things like keyboard processing, idle processing, activation...