2012-10-04 11 views
10

पर एचटीएमएल प्रदर्शित करें मैं एक विन-फॉर्म एप्लिकेशन विकसित कर रहा हूं जिसे "पॉप-अप" फ़ॉर्म दिखाने के लिए कुछ समय चाहिए जो इंटरनेट (एचटीएमएल) पर एक वेब पेज का एक हिस्सा प्रदर्शित करता है। मैं एक क्लासिक वेब अनुरोध का उपयोग कर पृष्ठ के HTML हो रही है:एक Winform

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

मैं पहले से ही वेब ब्राउज़र नियंत्रण जो वास्तव में अच्छी तरह से काम करता है का उपयोग करने की कोशिश की है, लेकिन जैसा कि आप जानते वहाँ कई मुद्दे के रूप में उपयोग कर रहे हैं यह एक COM ऑब्जेक्ट पर आधारित है। (मैं गतिशील रूप से एक अन्य रूप नहीं बना सकता जिसमें एक थ्रेड एसटीए आदि के बिना वेब ब्राउज़र नियंत्रण शामिल है)

मुझे केवल "कंटेनर" चाहिए जहां मैं HTML को इंजेक्ट कर सकता हूं जिसे मैं प्रदर्शित करना चाहता हूं।

कोई सुझाव?

बहुत बहुत शुक्रिया

उत्तर

8

कोशिश में निर्मित उपयोग करने WebBrowser नियंत्रण। CodeProject पर

संदर्भ:

प्रबंधित एचटीएमएल प्रतिपादन के लिए, Professional HTML Renderer

गतिशील HTML प्रतिपादन के लिए देखते हैं, देखते हैं Show Dynamic HTML in WinForm Applications

+1

मैं पहले से ही अच्छा सुझाव दूसरी कड़ी एक WebBrowser नियंत्रण जो मैं के रूप में समझाया उपयोग करने के लिए नहीं करना चाहते हैं का उपयोग करता है के लिए वैसे भी HtmlRenderer की कोशिश की है लेकिन ऐसा लगता है पेज सीएसएस सही ढंग से प्रदर्शित नहीं करता है। + 1 प्रश्न –

+0

में मुझे डर है कि WinForms एप्लिकेशन में एचटीएमएल प्रस्तुत करने के लिए कोई रास्ता नहीं है और पेशेवर एचटीएमएल रेंडरर आपके मामले के लिए जानकारी का एक अच्छा स्रोत है लेकिन उपयोग को इस लिंक को http://www.codeproject.com/ आलेख/12172/एक-विस्तारित-RichTextBox-to-save-and-load-quot-HTML- –

+0

प्रस्तुत करने वाला HTML नवीनतम सीएसएस के साथ काम नहीं करता है :-( –

18

आप उपयोगकर्ता वेब ब्राउज़र control.It सीधे सभी एचटीएमएल कोड इंजेक्षन कर सकते हैं कर सकते हैं।

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

जैसा कि आप अनुमान लगा सकते हैं कि मेरा प्रश्न है मैंने पहले ही कोशिश की है। –

+0

प्रश्न पर एक पढ़ा है महान काम करता है! धन्यवाद .. ऐसा नहीं लगता कि इस तरह की एक वस्तु Winforms में है। – kirk

0
webBrowser1.Document.Write(yourHtmlText);