FolderBrowserDialog 取消事件 C#

3

我在使用对话框表单时遇到了问题。下面是一段调用FolderBrowserDialog窗口的C#代码片段。现在,当我点击一个文件夹上的“确定”按钮时,它会关闭对话框,所以我不太关心这个。但是,有没有人知道如何检测取消事件?我已经尝试查找相关信息,但是似乎只能找到“取消”的解释。不确定那能不能帮我解决问题。

    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

试试这个:

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

        if (f.ShowDialog() == System.Windows.Forms.DialogResult.Cancel) {
          //handle Cancel
        }
    }

这个可行!虽然我以为我已经尝试过了,但这真的很令人沮丧。非常感谢您的帮助,现在我可以停止抓狂了。 - Marshal

2
private void link1add_Click(object sender, EventArgs e)
{
  DialogResult dr = dialog.ShowDialog();
  If( dr == DialogResult.Ok)
  {

  } 
  else
  {
      //All other situations
  }
 }

2
 FolderBrowserDialog dialog = new FolderBrowserDialog();
 var res = dialog.ShowDialog();
 if(res == System.Windows.Forms.DialogResult.OK)
 {

 }
 else
 {
     //dialog.Cancel
 }

1

你不需要处理任何事件。只需查看ShowDialog()的返回值:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接