2012-10-04 9 views
10

Zajmuję się tworzeniem aplikacji wygrywającej, która musi czasem pokazać "wyskakujący" formularz, który wyświetla część strony internetowej w Internecie (HTML). Dostaję HTML strony za pomocą klasycznego wniosek na stronie internetowej:Wyświetlanie kodu HTML na winformie

var serviceRequest = new WebClient(); 
var response = serviceRequest.DownloadString(new Uri("www.something.com")); 

Próbowałem już używać przeglądarka internetowa kontrolę, która działa bardzo dobrze, ale jak wiesz, istnieje kilka problem używając go jako opiera się na obiekcie COM (nie mogę dynamicznie tworzyć innego formularza zawierającego kontrolkę przeglądarki bez tworzenia wątku STA itp.)

Wszystko czego potrzebuję to "kontener", w którym mogę wstrzyknąć kod HTML, który chcę wyświetlić.

Wszelkie sugestie?

thanks a lot

Odpowiedz

8

spróbować użyć wbudowanej kontroli WebBrowser.

Odniesienia na CodeProject:

zarządzanych renderowania HTML, zobacz Professional HTML Renderer

do dynamicznego HTML rendering, patrz Show Dynamic HTML in WinForm Applications

+1

już próbowaliśmy HtmlRenderer ale wydaje się, nie pokazuje CSS stronę prawidłowo. + 1 i tak na dobrą sugestią Drugie ogniwo wykorzystuje kontrolkę WebBrowser których nie chciałbym używać jak wyjaśniono w pytaniu –

+0

Obawiam się, że nie ma żadnej możliwości, aby wyrenderować HTML do aplikacji WinForms, a Professional HTMl Renderer jest dobrym źródłem informacji dla twojej sprawy, ale użycie powinno odnosić się do tego linku również http://www.codeproject.com/ Artykuły/12172/An-extended-RichTextBox-to-save-and-load-quot-HTML –

+0

HTML renderowania nie działa z najnowszymi CSS :-( –

18

Można przeglądarka użytkownika control.It można wstrzyknąć bezpośrednio cały kod HTML.

webBrowser1.DocumentText = "<html>hello <script>alert('hi');</script></html>"; 
+1

jak można zgadnąć formularz moje pytanie już wypróbowałem to. Proszę przeczytać na pytanie –

+0

działa świetnie! dzięki ... nie myślałem o takim obiekcie w WinForm. – kirk

0
webBrowser1.Document.Write(yourHtmlText); 
Powiązane problemy