2010-09-23 20 views
2

得到答案,我复制如何从消息框

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(); 
    } 

msdn。当我编译这个我

1> ------构建开始:项目:TEST2,配置:调试的Win32 ------ 1>测试2.cpp 1> C:\用户\kredkołamacz\ documents \ visual studio 2010 \ projects \ test2 \ test2 \ Form1.h(103):error C2039:'No':不是'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'的声明'> c :\ users \kredkołamacz\ documents \ visual studio 2010 \ projects \ test2 \ test2 \ Form1.h(103):error C2065:'No':未声明的标识符 ========== Build:0 succeeded, 1失败,0最新,0跳过==========

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

回答

7

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

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

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

如果没有帮助,请尝试指定完整的命名空间,即::System::Windows::Forms::DialogResult::No,看看是否能至少工作。

+2

使用:: System :: Windows :: Forms :: DialogResult :: No。谢谢。 (我现在不能接受这个答案) – asd 2010-09-23 08:58:46