如何从messagebox获得答案

asd*_*asd 2 c++-cli visual-c++

我复制

if ((MessageBox::Show(
     "Are you sure that you would like to close the form?", 
     "Form Closing", MessageBoxButtons::YesNo, 
     MessageBoxIcon::Question) == DialogResult::No))
  {
     // cancel the closure of the form.
     Application::Exit();
  }
Run Code Online (Sandbox Code Playgroud)

来自msdn.我编译的地方我有

1> ------ Build build:项目:test2,配置:调试Win32 ------ 1> test2.cpp 1> c:\ users \kredkołamacz\ documents\visual studio 2010\projects\test2\test2\Form1.h(103):错误C2039:'否':不是'System :: Windows :: Forms :: Form :: DialogResult'1> c:\ users \kredkołamacz\ documents\visual studio 2010 \的成员projects\test2\test2\Form1.h(16):查看'System :: Windows :: Forms :: Form :: DialogResult'1> c:\ users \kredkołamacz\ documents\visual studio 2010\projects\test2 \的声明test2\Form1.h(103):错误C2065:'否':未声明的标识符==========构建:0成功,1失败,0最新,0跳过===== =====

怎么了?怎么解决这个问题?

Kon*_*lph 7

我很难过但MSDN文章DialogResult在C++示例中提到类型名称应该以前缀为例::使其非嵌套.也许试试这个:

if (MessageBox::Show(
     "Are you sure that you would like to close the form?", 
     "Form Closing", MessageBoxButtons::YesNo, 
     MessageBoxIcon::Question) == ::DialogResult::No)
Run Code Online (Sandbox Code Playgroud)

(我也删除了多余的括号......)

如果它没有帮助,请尝试指定完整的命名空间,即::System::Windows::Forms::DialogResult::No查看是否至少有效.

  • 使用:: System :: Windows :: Forms :: DialogResult :: No.谢谢.(我现在不能接受这个答案) (2认同)