如何删除已在WebBrowser控件被导航的文件? [英] How can i delete the file that has been navigated in a webbrowser control?

查看:150
本文介绍了如何删除已在WebBrowser控件被导航的文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何删除已在web浏览器被导航的文件?
错误说它正由另一个进程

  preview_wb.Navigate(@C:\\ mypdf.pdf);私人无效close_btn_Click(对象发件人,EventArgs的发送)
{
    preview_wb.Stop();
    File.Delete(@C:\\ mypdf.pdf);
}


解决方案

通常人们认为这code:

  webBrowser.Navigate(关于:空白);
而(webBrowser.ReadyState!= WebBrowserReadyState.Complete)
    Application.DoEvents();File.Delete(文件名);

我不喜欢它。我preFER处理DocumentCompleted事件。

 无效的DeleteFile()
{
    needToDeleteFile = TRUE;
    webBrowser.Navigate(关于:空白);
}无效webBrowser_DocumentCompleted(对象发件人,WebBrowserDocumentCompletedEventArgs E)
{
    如果(needToDeleteFile)
    {
        File.Delete(文件名);
        needToDeleteFile = FALSE;
    }
}

How can I delete the file that has been navigated in the webbrowser? Error says "It is being used by another process"

preview_wb.Navigate(@"C:\mypdf.pdf");

private void close_btn_Click(object sender, EventArgs e)
{
    preview_wb.Stop();
    File.Delete(@"C:\mypdf.pdf");
}

解决方案

Usually people suggest this code:

webBrowser.Navigate("about:blank");
while (webBrowser.ReadyState != WebBrowserReadyState.Complete)
    Application.DoEvents();

File.Delete(fileName);

I don't like it. I prefer to handle DocumentCompleted event.

void DeleteFile()
{    
    needToDeleteFile = true;
    webBrowser.Navigate("about:blank");
}

void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    if (needToDeleteFile)
    {
        File.Delete(fileName);
        needToDeleteFile = false;
    }
}

这篇关于如何删除已在WebBrowser控件被导航的文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆