c# - 关闭浏览对话框会导致表单关闭

时间:2010-01-04 10:53:31

标签: c# .net winforms dialog

我有一个表格,通过ShowDialog()显示。 表单未指定CancelButton

当我从表单中打开BrowseDialog然后关闭BrowseDialog时,表单也会关闭。我怎样才能防止这种情况发生?

点击“浏览”按钮时:

browseDialog.SelectedPath = projectLocation.Text;
browseDialog.ShowDialog();

if (browseDialog.SelectedPath != "")
{
      projectLocation.Text = browseDialog.SelectedPath;
}

点击表单的“取消”按钮时:

Close();

3 个答案:

答案 0 :(得分:7)

我猜你用来显示BrowseDialog的按钮的DialogResult设置为None以外的其他东西。

如果不是这种情况,请发布一些代码。

答案 1 :(得分:0)

在您的浏览器对话框的闭包事件中,检查发件人arg以查看请求关闭的对话框,如果不是浏览器dlg,请设置e.Cancel = true

答案 2 :(得分:0)

当我遇到类似的问题时,我偶然发现了这一点,确保您的父表单没有设置ITS对话框结果,因为一旦调用模态对话框的事件完成,如果将父表单设置为none以外的其他内容,则表单将关闭