تحميل النص في الذاكرة إلى عنصر تحكم WebBrowser

StackOverflow https://stackoverflow.com/questions/150014

  •  02-07-2019
  •  | 
  •  

سؤال

في عنصر تحكم .Net WebBrowser، الطريقة الوحيدة التي يمكنني رؤيتها لتحميل صفحة إليها هي تعيين خاصية URL.لكنني أرغب بدلاً من ذلك في إعطائه بعض تعليمات HTML البرمجية التي أحتفظ بها بالفعل في الذاكرة دون كتابتها في ملف أولاً.هل هناك أي طريقة للقيام بذلك؟أم أن هناك أي ضوابط من شأنها أن تفعل ذلك؟

هل كانت مفيدة؟

المحلول

تريد خاصية 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 :كما يجب عليك تقديم شيئين:

  • لا تقم بتعيين DocumentText في المُنشئ.استخدم Form_Load أو طريقتك الخاصة.إذا قمت بتعيين DocumentText في المُنشئ، فلن تتمكن من تعيينه مرة أخرى في أي مكان في التطبيق.تأكد من التحقق من أن مصمم النموذج لم يقم بتعيينه أيضًا.

  • يمكنك فقط تعيين DocumentText مرة واحدة لكل استدعاء أسلوب.هذا أمر غريب وعلى الأرجح خطأ، لكنه صحيح.على سبيل المثال:سيتم ضبط DocumentText في حلقة for بشكل صحيح فقط في التكرار الأول للحلقة.ومع ذلك، يمكنك إنشاء طريقة صغيرة لتعيين DocumentText إلى السلسلة التي تم تمريرها، ثم استدعاء هذه الطريقة في حلقة for.

نصائح أخرى

يمكنك استخدام إما WebBrowser.DeocumentText (http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.documenttext.aspx) أو WebBrowser.DocumentStream (http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.documentstream.aspx) لتغيير HTML في المستند الحالي.قد تحتاج إلى الانتقال إلى about:blank، إذا لم يكن لديك مستند.

أيضًا، بشكل عام، في أي مكان يمكنك فيه استخدام الدفق، يمكنك استخدام MemoryStream لتغليف البيانات الموجودة في الذاكرة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top