那位大哥看得懂以下的Delphi代码,请帮忙翻译成.net,先谢了[code=Delphi(Pascal)][/WebBrowser1,WebBrowser2procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
begin
  ppDisp := WebBrowser2.Application;  
end;
procedure TForm1.WebBrowser2BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
  WebBrowser1.Navigate(string(URL));  
  Cancel := True;
end;]

解决方案 »

  1.   

    C#的WebBrowser没有NewWindow2事件
      

  2.   

    引用Microsoft Internet Controls
            private void Form1_Load(object sender, EventArgs e)
            {
                this.webBrowser1.Navigate("about:blank");
                this.webBrowser2.Navigate("about:blank");            (this.webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).NewWindow2 += new SHDocVw.DWebBrowserEvents2_NewWindow2EventHandler(NewWindow2);
                (this.webBrowser2.ActiveXInstance as SHDocVw.WebBrowser).BeforeNavigate2 += new SHDocVw.DWebBrowserEvents2_BeforeNavigate2EventHandler(BeforeNavigate2);
            }        private void BeforeNavigate2(object pDisp, ref object URL, ref object Flags, ref object TargetFrameName, ref object PostData, ref object Headers, ref bool Cancel)
            {
                webBrowser1.Navigate(URL.ToString());
                Cancel = true;
            }        private void NewWindow2(ref object ppDisp, ref bool Cancel)
            {
                (webBrowser2.ActiveXInstance as SHDocVw.WebBrowser).RegisterAsBrowser = true;
                ppDisp = (webBrowser2.ActiveXInstance as SHDocVw.WebBrowser).Application;
            }