FolderBrowserDialog Отмена события C # - PullRequest
3 голосов
/ 05 марта 2012

У меня проблема с диалоговыми формами.Ниже приведен раздел кода C #, который вызывает окно FolderBrowserDialog.Теперь, когда я нажимаю «ОК» на папке, она закрывает диалоговое окно, так что это не сильно беспокоит.Однако кто-нибудь знает, как обнаружить событие отмены?Я пытался найти его, но все, что я могу найти, - это «уволить».Не уверен, что это может помочь мне.

    private void link1add_Click(object sender, EventArgs e)
    {
        FolderBrowserDialog dialog = new FolderBrowserDialog();
        dialog.ShowDialog(); // Opens Folderdialog
    }

Например, что-то вроде этого:

    private void link1add_Click(object sender, EventArgs e)
    {
        FolderBrowserDialog dialog = new FolderBrowserDialog();
        dialog.ShowDialog(); // Opens Folderdialog
        if (dialog == dialog.Cancel)            
        {
        }
    }

Если бы кто-нибудь мог пролить свет на это, я был бы очень признателен.Спасибо за поиск.

Ответы [ 4 ]

8 голосов
/ 05 марта 2012

Попробуйте:

private void link1add_Click(object sender, EventArgs e) {
        FolderBrowserDialog f = new FolderBrowserDialog();

        if (f.ShowDialog() == System.Windows.Forms.DialogResult.Cancel) {
          //handle Cancel
        }
    }
2 голосов
/ 05 марта 2012
 FolderBrowserDialog dialog = new FolderBrowserDialog();
 var res = dialog.ShowDialog();
 if(res == System.Windows.Forms.DialogResult.OK)
 {

 }
 else
 {
     //dialog.Cancel
 }
2 голосов
/ 05 марта 2012
private void link1add_Click(object sender, EventArgs e)
{
  DialogResult dr = dialog.ShowDialog();
  If( dr == DialogResult.Ok)
  {

  } 
  else
  {
      //All other situations
  }
 }
1 голос
/ 05 марта 2012

Нет событий, которые вам нужно обработать.Просто посмотрите на возвращаемое значение ShowDialog():

var result = dialog.ShowDialog();
if ( result == DialogResult.Cancel )
{
...
}
...