В Си++ .NET для переменных, перед типом переменной нужно ставить галочку или крышу ^, поскольку текст в формате utf-8, то нужно использовать перед текстом букву L, иначе будет непонятный текст, например:

Код:
String^ strHello;
Код:
MessageBox::Show(L"Привет!");

1. Создадим проект Windows Form Application, я его назову DemoApp:
https://i.ibb.co/xSdddQp/vscpp-001-12-35-03-01-2023-min.jpg

https://i.ibb.co/vVnxCC9/vscpp-002-12-39-03-01-2023-min.jpg

2. Назовём программу "простой пример", поле txtYourName, а кнопку btnSay, подпишем в кнопке Сказать:
https://i.ibb.co/4SbXw3S/vscpp-003-12-43-03-01-2023-min.jpg

Вот код Form1.h:

Код:
//....

private: System::Void btnSay_Click(System::Object^  sender, System::EventArgs^  e) {
  String^ strHello = L"Привет {0}!"; // Для того чтобы отобразить скажем "Привет lexx821"
  MessageBox::Show(String::Format(strHello, this->txtYourName->Text)); // Показываем диалоговое окно alert, и отображаем Привет ... !
}

//....

3. Протестируем введём скажим мой ник lexx821:
https://i.ibb.co/0hz2dmq/vscpp-004-12-57-03-01-2023-min.jpg