我有一个表格,通过ShowDialog()
显示。
表单未指定CancelButton
。
当我从表单中打开BrowseDialog
然后关闭BrowseDialog
时,表单也会关闭。我怎样才能防止这种情况发生?
点击“浏览”按钮时:
browseDialog.SelectedPath = projectLocation.Text;
browseDialog.ShowDialog();
if (browseDialog.SelectedPath != "")
{
projectLocation.Text = browseDialog.SelectedPath;
}
点击表单的“取消”按钮时:
Close();
答案 0 :(得分:7)
我猜你用来显示BrowseDialog的按钮的DialogResult设置为None以外的其他东西。
如果不是这种情况,请发布一些代码。
答案 1 :(得分:0)
在您的浏览器对话框的闭包事件中,检查发件人arg以查看请求关闭的对话框,如果不是浏览器dlg,请设置e.Cancel = true
答案 2 :(得分:0)
当我遇到类似的问题时,我偶然发现了这一点,确保您的父表单没有设置ITS对话框结果,因为一旦调用模态对话框的事件完成,如果将父表单设置为none以外的其他内容,则表单将关闭