Question

Sur le contrôle .Net WebBrowser, le seul moyen dont je dispose pour charger une page consiste à définir la propriété URL. Mais j'aimerais plutôt lui donner du code HTML que j'ai déjà en mémoire sans l'écrire au préalable dans un fichier. Y a-t-il un moyen de faire ça? Ou y a-t-il des contrôles qui le feront?

Était-ce utile?

La solution

Vous voulez la propriété DocumentText:

http://msdn.microsoft. com / en-us / library / system.windows.forms.webbrowser.documenttext.aspx

?

from http://www.codeguru.com/forum/showpost .php? p = 1691329 & amp; postcount = 9 : Aussi, vous devriez fournir quelques choses:

  • Ne définissez pas DocumentText dans le constructeur. Utilisez Form_Load ou votre propre méthode. Si vous définissez DocumentText dans le constructeur, vous ne pourrez le redéfinir nulle part dans l'application. Assurez-vous de vérifier que le concepteur de formulaire ne l'a pas défini non plus.

  • Vous ne pouvez définir DocumentText qu'une fois par appel de méthode. C'est étrange et probablement un bug, mais c'est vrai. Par exemple: définir DocumentText dans une boucle for ne se définira correctement qu'à la première itération de la boucle. Vous pouvez cependant créer une petite méthode pour définir DocumentText sur la chaîne transmise, puis appeler cette méthode dans une boucle for.

Autres conseils

Vous utilisez soit WebBrowser.DeocumentText ( http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.documenttext.aspx ) ou WebBrowser.DocumentStream ( http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser .documentstream.aspx ) pour modifier le code HTML dans le document actuel. Vous devrez peut-être naviguer vers à propos de: vide si vous n'avez pas de document.

En outre, partout où vous pouvez utiliser un flux, vous pouvez utiliser MemoryStream pour envelopper les données que vous avez en mémoire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top