WebBrowser 컨트롤 사용 시 고려 사항

WebBrowser 컨트롤을 사용할 때는 다음 사항을 고려해야 합니다.
  • WebBrowser 컨트롤은 문서를 비동기적으로 탐색합니다. WebBrowser1.Navigate를 호출하면 문서를 완전히 로드하기 전에 해당 Visual C# 응용 프로그램에 컨트롤이 반환됩니다. 포함된 문서를 자동화할 계획이라면 해당 문서가 완전히 로드된 시기를 알리도록 NavigateComplete2 이벤트를 사용해야 합니다. Office 문서 개체에 대한 참조를 가져오기 위해 전달되는 WebBrowser 개체의 Document 속성(이전 코드에서 oDocument로 설정됨)을 사용합니다.
  • WebBrowser 컨트롤은 메뉴 병합을 지원하지 않습니다.
  • Internet Explorer 최신 버전(5.0 이상)에서도 아래의 코드를 사용하여 도킹된 도구 모음을 표시할 수 있습니다.
     // This is a toggle option, so call it once to show the   // toolbars and once to hide them. This works with Internet Explorer 5  // but often fails to work properly with earlier versions.    Object refmissing = System.Reflection.Missing.Value;  axWebBrowser1.ExecWB(SHDocVw.OLECMDID.OLECMDID_HIDETOOLBARS, 
    Object refmissing = System.Reflection.Missing.Value;
     axWebBrowser1.ExecWB(SHDocVw.OLECMDID.OLECMDID_HIDETOOLBARS,
    SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER,
    ref refmissing, ref refmissin);
  • 하나의 프로젝트에서 둘 이상의 WebBrowser 컨트롤을 사용하여 동일한 종류의 Office 문서를 로드하면 문제가 발생하는 것으로 알려져 있습니다. 즉, 컨트롤 모두 Word 문서만 로드하거나 Excel 스프레드시트만 로드하는 경우 문제가 발생합니다. 프로젝트당 컨트롤을 하나만 사용하고 한 번에 한 가지 문서만 탐색하는 것이 좋습니다.

    가장 일반적인 문제는 Office 명령 모음이 사용할 수 없는 것처럼 나타나는 것입니다. 같은 폼에 WebBrowser 컨트롤이 두 개 있고, 두 컨트롤 모두 Word 문서를 로드하며, 앞의 예제 코드를 사용하여 도구 모음을 표시한 경우 하나의 도구 모음만 활성화되어 제대로 작동합니다. 다른 도구 모음은 사용 불가능하게 될 수 있습니다.
  • 다른 명령 단추의 Click 이벤트(또는 적절한 코드 부분)에서 WebBrowser의 현재 내용을 지우려면 아래의 코드를 사용하여 기본 빈 페이지로 이동하도록 합니다.
       AxWebBrowser1.Navigate("about:blank");

참조

WebBrowser 컨트롤을 사용하는 것에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.

304562 INFO: Visual Studio .NET Does Not Provide an OLE Container Control for Win Forms

243058 HOWTO: Use the WebBrowser Control to Open an Office Document

162719 HOWTO: Use the WebBrowser Control from Visual Basic 5.0

202476 BUG: Cannot Edit Word Document in OLE or WebBrowser Control

188271 HOWTO: Print Contents of the Web Browser Control From VB

191692 PRB: Shdocvw.dll Is Not Included in PDW Setup Package

238313 PRB: Accessing the Internet Explorer Document Object Model From Visual Basic