【发布时间】:2015-10-21 13:11:50
【问题描述】:
我的 winform 应用程序中有一个 WebBrowser 控件,用于显示 pdf 文件并根据用户的请求加载网页。如果文件类型不受支持或网页启动下载,WebBrowser 控件将要求保存、打开或取消文件。我在这里找到了解决方案:https://social.msdn.microsoft.com/Forums/windows/en-US/325b1dde-806c-44d9-b420-2e4c929ae09d/webbrowser-control-how-to-disable-file-downloads?forum=winforms
此解决方案似乎有效,但关闭应用程序时出现以下异常:InvalidComObjectException: COM object that has been separated from its underlying RCW cannot be used.
有没有更好的方法来阻止 WebBrowser 控件的下载,还是我实施此解决方案有误?
我添加了对“Microsoft Internet Controls (Interop.SHDocVw.dll)”的引用并将此代码添加到我的 WebBrowser 控件中:
(webBrowser.ActiveXInstance as SHDocVw.ShellBrowserWindow).FileDownload += browser_FileDownload;
private void browser_FileDownload(bool ActiveDocument, ref bool Cancel)
{
if (!ActiveDocument)
Cancel = true;
}
【问题讨论】:
-
有一个很好的答案here。
标签: c# winforms download webbrowser-control