【发布时间】:2012-04-03 09:40:09
【问题描述】:
我的 WPF 应用程序由一个主窗口组成,而主窗口又具有一个子窗口。
如果我让子窗口打开一个 FolderBrowserDialog,我会得到一个 System.ComponentModel.Win32Exception(WindowsBase.dll 中发生了“System.ComponentModel.Win32Exception”类型的第一次机会异常)。更具体地说,这发生在关闭对话框之后,并且当子窗口再次获得焦点时(?)。问号在那里是因为我没有成功捕捉到异常,所以我不能 100% 确定。但从视觉上看,那就是它发生的时候。如果子窗口在关闭对话框后有焦点,则在窗口失去焦点并重新获得焦点后发生异常。
如果我将打开 folderBrowserDialog 的代码移动到主窗口,则不会发生这种情况。 ***编辑:现在它也会使程序从主窗口崩溃。
为什么会出现此异常?怎么了?我该如何修复它(除了将其移至主窗口)?
这是打开对话框的代码;没什么特别的。异常代码已删除。
FolderBrowserDialog dlg = new FolderBrowserDialog();
DialogResult result = dlg.ShowDialog();
if (result == DialogResult.OK)
selDir = dlg.SelectedPath;
我正在使用 VS2010,.Net 4。
【问题讨论】: