0

我的 winforms 应用程序中有一个用作内置浏览器的表单。它使用 .net 网络浏览器控件。很简单。我有一个文本框作为地址栏,以及用于控制的按钮。当我导航到我的网站时,我的网站使用 .net 菜单控件来呈现悬停菜单。当我将鼠标悬停在菜单上时(使用我的浏览器表单),地址栏意外更改为: http://domainname/WebResource.axd?etc/etc/etc

我正在捕获 webbrowser_navigating 事件并将地址栏的 Text 属性设置为 e.Url.ToString()

当然,这不是预期的结果,IE 也不会这样做。我错过了什么?

更新:

这是我想出如何做到这一点的唯一方法:

                字符串 url = e.Url.ToString().ToLower();

                // 只在特定情况下改变地址栏
                // 过滤掉一些导航变化
                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();
                }
4

1 回答 1

1

见上面桑杰的评论。

于 2010-07-02T13:36:21.613 回答