我的winforms应用程序中有一个表单作为内置浏览器。它使用.net webbrowser控件。很简单。我有一个文本框作为地址栏和控件按钮。当我导航到我的网站时,我的网站使用.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(); }
答案 0 :(得分:1)
见上面的Sanjay评论。