WPF MessageBox закрывается без каких-либо действий - PullRequest
1 голос
/ 01 июня 2010

У меня есть окно подтверждения для пользователя в одном из моих приложений. Ниже приведен код для этого,

MessageBoxResult res= System.Windows.MessageBox.Show("Could not find the folder, so the D:  Drive will be opened instead.");
                if (res == MessageBoxResult.OK)
                {
                    MessageBox.Show("OK");
                }
              else
                {
               MessageBox.Show("Do Nothing"); 
                }

Теперь, когда пользователь нажимает кнопку ОК, я хочу, чтобы определенный код выполнялся, но когда он нажимает на красный крестик в верхнем правом углу, я просто хочу закрыть окно сообщения, ничего не делая. В моем случае отображается «ОК», даже когда я нажимаю на значок красного креста в верхнем правом углу. Есть ли способ отображения «Ничего не делать», когда я нажимаю на крестик? Я не хочу добавлять больше кнопок.

Ответы [ 2 ]

1 голос
/ 01 июня 2010

Да, есть очень простой способ, просто добавьте параметр «MessageBoxButtons.OKCancel» в метод MessageBox.Show. таким образом, у вас будет две кнопки (ОК и Отмена). таким образом, если пользователь нажмет кнопку отмены или красный крест, будет возвращено сообщение DialogResult.Cancel. следующий код описывает решение:

System.Windows.Forms.DialogResult result = System.Windows.Forms.MessageBox.Show("Could not find the folder, so the D:  Drive will be opened instead.", 
            "", System.Windows.Forms.MessageBoxButtons.OKCancel);

        if (result == System.Windows.Forms.DialogResult.OK)
            MessageBox.Show("OK");
        else
            MessageBox.Show("Do nothing.");
1 голос
/ 01 июня 2010

Нет, нет.

Вы можете создать свою собственную диалоговую форму.

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