У меня есть форма в моем приложении winforms, которая действует как встроенный браузер. Он использует элемент управления веб-браузером .net. Довольно просто. У меня есть текстовое поле в качестве адресной строки и кнопки для управления. Когда я перехожу на свой веб-сайт, мой веб-сайт использует элемент управления меню .net для отображения всплывающего меню. Когда я навожу курсор на меню (используя форму браузера), адресная строка меняется на: http://domainname/WebResource.axd?etc/etc/etc, неожиданно
Я перехватываю событие webbrowser_navigating и устанавливаю для свойства Text адресной строки значение e.Url.ToString().
Конечно, это не ожидаемый результат, и IE этого не делает. Что мне не хватает?
ОБНОВИТЬ:
Вот единственный способ, которым я мог придумать, как это сделать:
string url = e.Url.ToString().ToLower(); // Only change the address bar under certain circumstances // Filter out some navigating changes if ((StringUtil.Empty(e.TargetFrameName) || e.TargetFrameName.ToLower() == "_blank") && !url.Contains("webresource.axd") && !url.Contains("javascript:") && !url.Contains("about:blank")) { toolStripAddress.Text = e.Url.ToString(); }