Как получить ответ из сообщения - PullRequest
2 голосов
/ 23 сентября 2010

Копирую

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> test2.cpp 1> c: \пользователи \ 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 пропущено ==========

Что не так?Как решить эту проблему?

1 Ответ

7 голосов
/ 23 сентября 2010

Я в тупике, но в статье 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)

(я также удалил лишние скобки…)

Если это не поможет, попробуйте указать полное пространство имен, то есть ::System::Windows::Forms::DialogResult::No, чтобы увидеть, если это вменьше всего работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...