2008-09-29 11 views
9

Sur le contrôle .Net WebBrowser, la seule façon de charger une page est de définir la propriété URL. Mais je voudrais plutôt lui donner du code HTML que j'ai déjà en mémoire sans l'écrire d'abord dans un fichier. Est-ce qu'il y a un moyen de faire ça? Ou y a-t-il des contrôles qui vont le faire?Chargement du texte de la mémoire dans le contrôle WebBrowser

Répondre

14

Vous voulez la propriété DocumentText:

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

?

de http://www.codeguru.com/forum/showpost.php?p=1691329&postcount=9: Aussi, vous devez fournir une ou deux 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 pas le redéfinir dans l'application. Assurez-vous de vérifier que le concepteur de formulaires ne l'a pas défini non plus.

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

+0

Exactement ce dont j'avais besoin. Merci! –

+0

Facile et pratique. Merci pour toi!!! –

0

De même, généralement, partout où vous pouvez utiliser un flux, vous pouvez utiliser MemoryStream pour envelopper les données que vous avez en mémoire.

Questions connexes