IntelliSense не показывает MessageBoxResult

Я работаю с приложением Windows Forms в С# и Visual Studio 2005.

Я показываю окно сообщения в событии нажатия кнопки,

string messageBoxText = "Click OK to save your changes\n";
string caption = "Confirm Changes";
MessageBoxButtons button = MessageBoxButtons.OKCancel;
//Display the MessageBox
MessageBox.Show(messageBoxText, caption, button);

MessageBoxResult result = MessageBox.Show(messageBoxText, caption, button);

При компиляции выскакивает следующая ошибка:

Ошибка 1 Не удалось найти имя типа или пространства имен «MessageBoxResult» (вам не хватает директивы using или ссылки на сборку?)

Кроме того, IntelliSense не отображает такие вещи, как MessageBoxResult. Я видел это заявление на MSDN. Как получить ответ на сообщение (ОК/Отмена) без использования MessageBoxResult?


person zack    schedule 25.08.2009    source источник


Ответы (3)


Перечисление MessageBoxResult доступно в .NET 3.0+. Вы используете 2.0.

Используйте DialogResult, как предложил Уолт.

person Jay Riggs    schedule 25.08.2009

Вы можете попробовать разместить

using System.Windows; 

в верхней части вашего источника.

Или попробуйте DialogResult вместо этого. Это пространство имен System.Windows.Forms, и это то, что Show() возвращает в моих исходных файлах C#...

person Walt W    schedule 25.08.2009
comment
использование System.Windows тоже не сработало. Я думаю, мне придется использовать DialogResult. - person zack; 25.08.2009

Сначала добавьте Reference PresentationFramework (лучше всего из NuGet) и создайте с помощью System.Windows;. Затем вы должны использовать System.Windows из PresentationFramework для MessageBoxResult. Второй сделать с помощью Microsoft.Win32; и забрать его для SaveFileDialog.

person Jiri Spoon Fotr    schedule 26.01.2021
comment
Из обзора: Не могли бы вы добавить пример кода с этими исправлениями в свой ответ? - person sɐunıɔןɐqɐp; 26.01.2021