There are many options, here are a few from the top of the head:
Wrap C ++ code in a Windows DLL, invoke C ++ code from .NET using P / Invoke.
Wrap C ++ code in a com object, .NET can directly use com objects.
Wrap C ++ code inside some type of managed C ++ shell (C ++ / CLI), loading and using this new assembly in the .NET GUI.
Some more exotic ideas:
:
DLL p/invoke. COM DLL , COM / ( ATL, ..). ++/CLI , , , .