2013-03-31 3 views
1

У меня есть простой WinForm с элементом управления WebBrowser, который отображает изображение из Интернета. Изображение обновляется в соответствии с таймером 1.
Он отлично работает, пока я не нажму F5 или не используйте 'Обновить' вариант из контекстного меню браузера. Затем я получаю пустую страницу, и мне нужно перезапустить программу.
Почему?
Я хочу, чтобы иметь возможность обновлять вручную, если нужно, не дожидаясь Timer1.
Любые предложения?
Я использую Visual Basic Express, 2010.Управление и обновление .NET WebBrowser

Public Class Form1 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     WebBrowser1.DocumentText = "<html><body><img src='http://example.com/image.jpg'></body></html>" 
    End Sub 

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 
     WebBrowser1.Refresh() 
    End Sub 
End Class 

ответ

2

DocumentText Запись не меняет Url и Url является перезапросить на обновления, поэтому при нажатии клавиши F5, браузер обновляет about:blank. Мне действительно интересно, .Refresh() работал на вас.

Вы хотите что-то вроде:

Private Shared ReadOnly about_blank As Uri = New Uri("about:blank") 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    WebBrowser1.Url = about_blank 
End Sub 

Private Sub WebBrowser1_Navigated(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserNavigatedEventArgs) Handles WebBrowser1.Navigated 
    If e.Url = about_blank Then 
     WebBrowser1.Document.Write("<html><body><img src='http://example.com/image.jpg'></body></html>") 
    End If 
End Sub 

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 
    WebBrowser1.Refresh() 
End Sub 
+0

Это работало. Благодарю. Интересно, почему метод WebBrowser.Refresh() 'отличается от ** F5 ** или ** Refresh ** в контекстном меню. Я бы ожидал, что они будут такими же. Что-то связано с кешированием? – mcu

Смежные вопросы