I found this really nice piece of code that converts a string to a System:String^ as in:
System:String^
System::String^ rtn = gcnew String(move.c_str()); // \
Use VC++'s marshaling library: Overview of Marshaling in C++
#include // given System::String^ mstr std::string nstr = msclr::interop::marshal_as(mstr);