我是新来的,真的很想得到你的帮助。 我一直在尝试禁用我的webbrowser的缓存,但是我得到了重载解析失败,因为没有可用的“导航”而没有缩小转换。我被困住了,我不知道该怎么办,我确实搜索了所有可能的解决方案,但没有找到答案。 这是我的代码:
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
Const navNoReadFromCache As Long = 4
Const navNoHistory As Long = 2
Const navNoWriteToCache As Long = 8
Dim navflags As Long
navflags = navNoHistory + navNoWriteToCache
WebBrowser1.Navigate("url", 4)
End Sub
End Class
原始错误消息是:
错误2重载解析失败,因为没有缩小转换就无法调用可访问的“导航”:
'Public Sub Navigate(urlString As String, newWindow As Boolean)': Argument matching parameter 'newWindow' narrows from 'Integer' to 'Boolean'.
'Public Sub Navigate(urlString As String, targetFrameName As String)': Argument matching parameter 'targetFrameName' narrows from 'Integer' to 'String'.
答案 0 :(得分:1)
.NET WebBrowserControl没有接受int或long参数的重载。 因此,您无法将BrowserNavConstants (this for IWebBrowser2 not .NET WebBrowserControl)值设置为.NET WebBrowserControl。
我找到了以下页面:
http://msdn.microsoft.com/en-us/library/40x214wa%28v=vs.110%29.aspx
WebBrowser控件将最近访问过的站点中的Web页面存储在本地硬盘的缓存中。每个页面都可以指定一个到期日期,表示它将保留在缓存中的时间。当控件导航到页面时,通过显示缓存版本(如果有)可以节省时间,而不是再次下载页面。
使用Refresh方法强制WebBrowser控件通过下载来重新加载当前页面,确保控件显示最新版本。
更新。 我尝试下面的代码,看起来工作正常:
private void button1_Click(object sender, EventArgs e) {
webBrowser1.Navigate("http://www.google.co.jp");
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {
webBrowser1.Refresh(WebBrowserRefreshOption.Completely);
}
这会加载页面两次。
答案 1 :(得分:0)
因此,经过一段时间的搜索和测试不同的方法,我得到了一个很好的结果。
Shell(" RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8",vbHide)
这是我用来删除在黑屏上保存我的Web浏览器的缓存的代码。 它的作用是搜索Internet Explorer的临时文件并删除它们,vbHide必须保留在逗号旁边才能工作,它的作用是隐藏弹出我们告诉你它删除临时文件的窗口。 / p>