none
C#两个WebBrowser 调用Html页 打开在第二个WebBrowser RRS feed

  • 问题

  • 刚刚接触C# ,想做一个简单WebBrowser页面,一个WebBrowser调用了一个html(里面有个表单 提交) 然后提交后,结果希望在第二个WebBrowser中显示,第一个一直不变

    网上找了很多 都没有好的办法

    那位朋友看看
    2009年8月10日 14:56

答案

全部回复

  • 你好,你可以在 Winform 中提交表单,提交之后刷新第二个 WebBrowser. 细节可以参考 http://smalldust.cnblogs.com/archive/2006/03/08/345561.html
    知识改变命运,奋斗成就人生!
    2009年8月10日 15:34
    版主
  • 你好!
         你的意思是不是不使用IE来打开新页面,而使用你自己定义的另外一个WebBrowser来打开,可以这样试试:
            先使用NewWindows事件来取消在IE新窗口的打开

            private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
            {
                e.Cancel = true;
                string url = this.wB_MainBrowser.Document.ActiveElement.GetAttribute("href");

                this.webBrowser2.Navigate(url);

            }


        
    周雪峰
    2009年8月10日 16:32
  • 谢谢 两位的回答,我的意思是 第一个webbrowser 里面调用的一个html页面,里面有很多表单,现在在这个webbrower里Html单击提交后,打开新页面,希望在第二个webbrowser 中打开,并且接受前面的html中提交的表单数据。。。
    相当于,原本 在新IE中打开的提交页面,现在控制在第二个webbrowser中打开

    麻烦了。
    2009年8月11日 6:51
  • 思路和我上面给出的代码类似,你自己在修改一下就可以使用了!
    周雪峰
    2009年8月11日 11:01
  • 上面的方法是取消新窗口的创建,在原有窗口中浏览。

    如果你需要在本程序中打开新窗口的话需要捕捉DWebBrowserEvents2::NewWindow2或者DWebBrowserEvents2::NewWindow3并且返回新的浏览器控件的application。在Windows窗体类库的封装类里面要访问这两个事件不太容易,你可以直接使用ActiveX版本的控件。



    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2009年8月11日 16:00