3

为什么会这样:

using namespace System;
using namespace System::Windows::Forms;
...
if( MessageBox::Show("Really do it?", "Are you sure?", System::Windows::Forms::MessageBoxButtons::YesNo) == System::Windows::Forms::DialogResult::Yes )
{
    Console::WriteLine("Do it!");
}

..当失败时:

using namespace System;
using namespace System::Windows::Forms;
...
if( MessageBox::Show("Really do it?", "Are you sure?", System::Windows::Forms::MessageBoxButtons::YesNo) == DialogResult::Yes )
{
    Console::WriteLine("Do it!");
}

...出现以下错误:

error C2039: 'Yes' : is not a member of 'System::Windows::Forms::Form::DialogResult'

我假设 Visual Studio 正在获取 DialogResult 但我看不到它在哪里找到它?

4

2 回答 2

3

这是一个命名冲突,Form.DialogResult 是 Form 的一个属性。看这里。我假设您的代码是表单的一部分,因此优先。

于 2012-06-12T08:49:48.977 回答
3

System::Windows::Forms::Form有一个也称为 DialogResult 的属性(属于 type System::Windows::Forms::DialogResult),因此出现错误。

http://msdn.microsoft.com/library/system.windows.forms.form.dialogresult.aspx

http://msdn.microsoft.com/library/system.windows.forms.dialogresult.aspx

于 2012-06-12T08:50:14.867 回答