Похоже, что автоматическая навигация к about: blank - это известное «защитное одеяло», используемое объектом WebBrowser
для проверки правильности объекта HTML перед попыткой загрузки запрашиваемой страницы, как описано в эта статья MSDN :
[...] метод IWebBrowser2 :: Navigate2 используется для перехода на пустую страницу about :. Переход на эту пустую страницу гарантирует, что MSHTML загружен и что элементы HTML доступны через объектную модель динамического HTML (DHTML).
Также должно работать событие DocumentCompleted
. Вы уверены, что ваши мероприятия больше ничего не делают?
Я пробовал этот простой код, и он работает как положено:
namespace CSharpWindowsPractice
{
using System;
using System.Windows.Forms;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
this.listBox1.Items.Add("Navigated to: " + e.Url);
}
private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
this.listBox1.Items.Add("Navigating to: " + e.Url);
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
this.listBox1.Items.Add("DocumentCompleted: " + e.Url);
}
private void button1_Click(object sender, EventArgs e)
{
this.webBrowser1.Navigate(new Uri(@"http://google.com"));
}
}
}
После нажатия на кнопку вы получите следующее: