2010-07-02 26 views
0

J'ai un formulaire dans mon application winforms qui agit comme un navigateur intégré. Il utilise le contrôle .net webbrowser. Assez simple. J'ai une zone de texte comme une barre d'adresse, et des boutons pour le contrôle. Lorsque je navigue sur mon site Web, mon site Web utilise un contrôle de menu .net pour présenter un menu de survol. Quand je passe la souris sur le menu (en utilisant mon formulaire de navigateur), les modifications de la barre d'adresse à: http://domainname/WebResource.axd?etc/etc/etc, de façon inattendueC# webbrowser control, navigue sur le menu dynamique hover?

Je piégeage l'événement webbrowser_navigating et définir la propriété de texte de la barre d'adresse à e.Url.ToString()

Bien sûr, ce n'est pas le résultat attendu, et IE ne le fait pas. Qu'est-ce qui me manque?

MISE À JOUR:

est ici la seule façon que je pouvais trouver comment faire:

 
       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(); 
       } 
+1

Quel est le code (javascript?) Qui apparaît dans le menu de la page? –

+0

Un peu de code rendra les choses plus claires. – IsmailS

+0

Ne sait pas, ne l'a pas écrit :-) Il utilise un contrôle de menu .NET standard intégré dans .NET version 3.1SP1. –

Répondre

1

Voir le commentaire de Sanjay ci-dessus.