private: System::Void btn_entrar_Click(System::Object^ sender, System::EventArgs^ e) {
string btn_texto = txt_login->Text->ToString();
MessageBox(NULL, "Hello!", btn_texto.c_str(), MB_OK | MB_ICONEXCLAMATION);
}
我創建一個窗口在Visual C常形成應用++ Studio 2008專業,我在按鈕上增加了點擊功能(雙擊設計模式),所以我在其生成的函數內部編寫了代碼。錯誤上的Visual C++形式,簡單的MessageBox並分配從文本框的文本字符串
它產生2個錯誤:
錯誤1:
錯誤C2440:初始化:不能從 '系統::字符串^' 轉換爲「標準:: basic_string的< _Elem,_Traits ,_AX>」
錯誤2:
錯誤C2872:'MessageBox':ambiguous symbol 1>可能是 'C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ include \ winuser.h(7374) :int MessageBox(HWND,LPCTSTR,LPCTSTR,UINT) '1>或
'C:\ WINDOWS \ microsoft.net \框架\ V2.0.50727 \ System.Windows.Forms.dll的 :系統:視窗:形式:MessageBox的'
我m在Visual Studio 2008 Professional上使用C++創建Windows 7和.NET Framework 3.5下的項目
有人知道我該如何解決這個問題?我查了一遍,但找不到解決方案。 我希望我給了足夠的信息。 在此先感謝。
科迪灰色鑑於@edit例
System::String btn_texto = txt_login->Text->ToString();
System::Windows::Forms::MessageBox(NULL, "Hello!", "HI", MB_OK | MB_ICONEXCLAMATION);
錯誤得到
錯誤C3149: '系統::字符串':不能沒有 頂級這裏使用這種類型的「 ^'錯誤C2661: 'System :: Windows :: Forms :: MessageBox :: MessageBox':no overload 函數需要4個參數
因此,我通過將解決的第一個錯誤^後系統::字符串 是這樣的:
系統::字符串^ btn_texto = txt_login->文本 - >的ToString();
但第二個錯誤是不固定的,順便說一下,我將如何在MessageBox函數中添加「btn_texto」內容?謝謝!
我在問題中添加了一個「@edit Cody Gray」來向你展示我做了什麼以及我得到了什麼錯誤,檢查了它,並且我還問了如何將btn_texto作爲字符串的一部分添加到MessageBox中而且我還想將「btn_texto」內容與其他文本連接起來,我該怎麼做? – Grego 2012-03-28 18:24:39