我在webBrowser控件中显示pdf和office文档。这些文件存储在zip文件中,并在Web浏览器中显示之前解压缩到app目录。当应用程序关闭时,我想删除任何已解压缩的文件以清理应用程序目录。
当用户显示文件时,我将浏览器添加到列表中以跟踪已打开的内容。当应用程序关闭时,我想发布对打开文件的任何引用,以下是使用pdf而不是office文件:
Private OpenedFiles As New List(Of WebBrowser)
添加浏览器:
Dim browser As WebBrowser
browser.Navigate(FilePath)
OpenedFiles.Add(browser)
表格结束活动:
For Each myBrowser As WebBrowser In OpenedFiles
myBrowser.DocumentText = ""
myBrowser.Navigate("about:blank")
Next
当执行此代码时,任何打开的pdf都可以删除,但任何office文件都不能删除,Office应用程序仍然在任务管理器中运行。
请有人建议我如何关闭然后删除办公室文件。
由于
答案 0 :(得分:2)
WebBrowser控件实现了IDisposable,因此当表单关闭时,您应该在每个上面调用.Dispose。这应该清理资源和文件句柄:
For Each myBrowser As WebBrowser In OpenedFiles
myBrowser.Dispose()
Next