none
WebBrowser.CreateSink DownloadComplete 的方法 RRS feed

  • 問題

  •  

    在 MSDN 上有一個範例

    http://msdn.microsoft.com/zh-tw/library/system.windows.forms.webbrowser.createsink(VS.80).aspx

     

    經過實作確定是正確可用的

    因為需要再增加 DownloadComplete() 這個事件

    所以也嘗試寫了一段程式到這個範例裡面

    但是都無法被觸發到

        // 加入以下程式

        public event EventHandler DownloadComplete;

        protected virtual void OnDownloadComplete(EventArgs e)
        {
          if (DownloadComplete != null)
            DownloadComplete(this, e);
        }

     

        private class ExWebBrowserEventHelper :     
            StandardOleMarshalObject, DWebBrowserEvents2
        {

          // 加入以下程式

          public void DownloadComplete()
          {
            parent.OnDownloadComplete(EventArgs.Empty);
          }

        }

     

      public interface DWebBrowserEvents2
      {

          // 加入以下程式

        [DispId(259)]
        void NavigateError([In, MarshalAs(UnmanagedType.IDispatch)] object pDisp);

      }

     

     

    網路上有看到有人寫出完整的CLASS , 例如 csExWB or ExtendedWebBrowser2

    但是因為太大了 , 本人只想針對少數事件進行補充

    ( 最主要是想沿用 MSDN 得範例即可 )

    可以請問一下是哪邊有遺漏了嗎?

    2008年8月27日 上午 10:16