Pergunta

no .NET WebBrowser controlar a única maneira que eu posso ver para carregar uma página a ele é para definir a propriedade URL. Mas eu gostaria de, em vez dar-lhe algum código HTML que eu já tenho na memória sem gravá-lo em um arquivo primeiro. Há alguma maneira de fazer isso? Ou existem quaisquer controles que vão fazer isso?

Foi útil?

Solução

Você quer a propriedade DocumentText:

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

?

http://www.codeguru.com/forum/showpost .php p = 1691329 & postcount = 9 ?: Além disso, você deve fornecer algumas coisas:

  • Não defina DocumentText no construtor. Use Form_Load ou o seu próprio método. Se você definir DocumentText no construtor, você não será capaz de configurá-lo novamente em qualquer lugar no aplicativo. Certifique-se de verificar se o Form Designer não definiu que quer.

  • Você só pode definir DocumentText uma vez por chamada de método. Isso é estranho e muito provavelmente um erro, mas é verdade. Por exemplo: a criação DocumentText em um loop for só irá definir corretamente na primeira iteração do loop. No entanto, pode criar um pequeno método para definir DocumentText para o passado na corda, em seguida, chamar esse método em um loop for.

Outras dicas

Você usar 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 ) para alterar o HTML no documento atual. Talvez seja necessário navegar até sobre:. Em branco, se você não tiver um documento

Além disso, em geral, em qualquer lugar você pode usar um Stream, você pode usar MemoryStream para embrulhar os dados que você tem na memória.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top