2009-10-10 8 views
1

J'essaie de charger une page YouTube à l'aide de Visual Studio 2008 et un projet Visual Basic très simple qui ne contient qu'un WebBrowser. Je veux charger la page lorsque le formulaire est chargé:VB.NET - Webrowser se bloque lors de la navigation à partir de l'événement Form Load

Private Sub Form1_Load(ByVal sender As Object, 
    ByVal e As System.EventArgs) Handles Me.Load 
    WebBrowser1.Navigate("http://code.google.com/apis/youtube/js_example_1.html") 
End Sub 

Chaque maintenant & alors (se produit une fois tous les 3-5 fois, mais varie), la forme montre juste une boîte blanche vide.

Quelqu'un pourrait m'aider à comprendre pourquoi cela se produit s'il vous plaît.

Éditer: Ce 'gel' se produit pour n'importe quelle page, telle que http://www.google.com. Mon contrôle WebBrowser est-il cassé? Seulement semble se produire quand je place le code de navigation dans l'événement Form Load, hmmm étrange.

Répondre

0

Ceci est probablement (presque certainement) se passe parce qu'un événement de charge de forme se produit avant son premier événement de peinture, donc de temps en temps le WebBrowser termine la navigation vers Google (ou ailleurs) avant la forme elle-même peint la première fois, et Ainsi, le WebBrowser apparaît comme une simple boîte blanche.

Une solution très simple à ce problème est de mettre juste un contrôle Timer sur la forme avec un court intervalle (par exemple, 100 ms), mis Enabled à true, et dans son cas Tick désactiver la minuterie puis appelez Navigate(...) sur votre WebBrowser.

+0

Merci pour la réponse MusiGenesis. J'ai essayé l'astuce de la minuterie, mais toujours la même chose. J'ai ensuite essayé de WebBrowser1.Navigate dans l'événement Form Show, qui est seulement appelé après que le formulaire se charge ... se bloque aussi parfois. J'ai ensuite retiré tout le code et ajouté un bouton. Dans l'événement de clic de bouton j'ai ajouté le WebBrowser1.Navigate et il fige aussi de temps en temps. C'est frustrant parce que cela semble sporadique, donc je ne peux pas identifier l'erreur. –

+0

WebBrowser peut parfois être un contrôle bizarre et spasmodique, car il ne montre qu'une instance de n'importe quelle version d'Internet Explorer installée sur votre machine. Je suppose que vous n'avez jamais eu de problèmes de ce genre lorsque vous accédez à ces sites Web avec une instance de navigateur ordinaire? – MusiGenesis

+0

Oui, pas de problème dans un navigateur 'mormal'. Je reçois également des problèmes d'autorisation javascript sur les machines Vista 64 bits. Je pense que votre résumé frappe le nqail sur la tête ... "WebBrowser peut être un contrôle bizarre et spasmodique parfois" :) Je souhaite juste que j'ai appris Flash au lieu de .NET. –