문제

.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 만 한 번만 설정할 수 있습니다. 이것은 이상하고 아마도 버그 일 가능성이 높지만 사실입니다. 예를 들어 : For-Loop에서 DocumentText를 설정하면 루프의 첫 번째 반복에서만 올바르게 설정됩니다. 그러나 전달 된 문자열로 DocumentText를 설정하는 작은 메소드를 작성한 다음이 메소드를 For-Loop로 호출 할 수 있습니다.

다른 팁

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.docmentstream.aspx) 현재 문서에서 HTML을 변경합니다. 문서가없는 경우 공백으로 이동해야 할 수도 있습니다.

또한 일반적으로 스트림을 사용할 수있는 곳마다 MemoryStream을 사용하여 메모리에있는 데이터를 랩핑 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top