C#中如何响应Com组件的Event?
我在.NET compact framework 1.0下编程,需要响应Com组件的Event。我利用windows自带的IWebBrowser2,以实现Web浏览功能,同时需要响应DWebBrowserEvents2(如何响应??555,我不会)的BeforeNavigate2事件。
我在EVC和VC6下已经测试没问题~~
可是如何在C#中使用呢?
我的关键疑惑在于这段代码在C#里咋写?
BEGIN_DISPATCH_MAP(CIEComCtrlSink, CCmdTarget)
DISP_FUNCTION_ID(CIEComCtrlSink, "OnQuit",DISPID_ONQUIT,OnQuit,VT_EMPTY, VTS_NONE)
DISP_FUNCTION_ID(CIEComCtrlSink, "BeforeNavigate2",DISPID_BEFORENAVIGATE2,BeforeNavigate2,
VT_EMPTY, VTS_DISPATCH VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PBOOL)
DISP_FUNCTION_ID(CIEComCtrlSink, "DocumentComplete",DISPID_DOCUMENTCOMPLETE,DocumentComplete,
VT_EMPTY, VTS_DISPATCH VTS_PVARIANT)
DISP_FUNCTION_ID(CIEComCtrlSink, "DownloadBegin",DISPID_DOWNLOADBEGIN,DownloadBegin,VT_EMPTY, VTS_NONE)
DISP_FUNCTION_ID(CIEComCtrlSink, "DownloadEnd",DISPID_DOWNLOADCOMPLETE,DownloadEnd,VT_EMPTY, VTS_NONE)
DISP_FUNCTION_ID(CIEComCtrlSink, "OnNewWindow2",DISPID_NEWWINDOW,OnNewWindow2,VT_EMPTY, VTS_DISPATCH VTS_PVARIANT)
END_DISPATCH_MAP()
就是如何把一个事件的响应映射到一个自定义函数。
还望大侠们不吝赐教,小弟在此感激不尽。不知为啥只能最多给40分。。。