Visual C ++ MessageBox

时间:2011-09-15 19:23:07

标签: winforms visual-c++ c++-cli

使用visual c ++无法获取要编译的消息框。

这个有效。 MessageBox::Show("hello the world");

显然我不能硬编码我的所有邮件,所以我想要这样的东西:

string s = "hello the world";
MessageBox::Show(s); | also tried MessageBox::Show(NULL,s);

不起作用。也尝试过:

char* test = (char*)s.c_str();
MessageBox::Show(test);

包含在我的文件之上

搜索谷歌,msdn上的c ++ messagebox没有代码示例,我找到的大部分内容都不适用于visual c ++。

感谢

2 个答案:

答案 0 :(得分:3)

您正在使用C ++ / CLI语言的托管代码。这需要对字符串使用System :: String类型:

String^ s = "hello the world";
MessageBox::Show(s); 

确保您确实想要编写此类代码。它不是标准的C ++。如果您这样做,请确保阅读C ++ / CLI书籍或教程以学习该语言。

答案 1 :(得分:1)

我用

        } catch (Exception ^ex) {
            MessageBox::Show(ex->Message);
        }

也许你的字符串是错误的格式?尝试使用

进行初始化
_T"My String"

L"My String"

以前曾为我工作过。您可能默认为8位ASCII或其他一些编码用于声明,这些声明由初始化的对象强制转换为某些其他类型,然后MessageBox::Show()无法解释(或强制转换)