If you are compiling your MFC application with VC++ 2005, then you can
easily add a managed module to your MFC application to call the C# dialog.
There's also a CWinFormsView class that lets you host a WinForms form inside
an MFC View object, so it can interact with the rest of your UI just like
If you're using VC 7 or 7.1, you can still add a managed module to your MFC
application to provide the bridge to the C# form.
If you're using VC6 or earlier, then COM interop is about your only option.