使用webbrowser控件打开网页,在网页上点击链接或按钮打开网页,怎样实现还在控件中打开,而不是在IE中打开

解决方案 »

  1.   


    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
     {
     //将所有的链接的目标,指向本窗体 
    foreach (HtmlElement archor in this.webBrowser1.Document.Links)
     { 
         archor.SetAttribute("target", "_self");
     } 
    //将所有的FORM的提交目标,指向本窗体 
    foreach (HtmlElement form in this.webBrowser1.Document.Forms)
     {
        form.SetAttribute("target", "_self"); 

    }
    private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
     { 
       e.Cancel = true; 
    }
    WebBrowser1.AllowWebBrowserDrop=false;WebBrowser1.WebBrowserShortcutsEnabled=false;WebBrowser1.IsWebBrowserContextMenuEnabled=false
      

  2.   

    网页已经加载完成
    ------------
    webBrowser1.ReadyState == WebBrowserReadyState.Complete
      

  3.   


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;namespace WindowsApplication234
    {
        public partial class Form1 : Form
        {
            String URL = "http://topic.csdn.net/u/20091218/11/e939af1f-d414-47c1-add3-b0337d6a8b88.html?10679";
            WebBrowser WB = new WebBrowser();
            
            public Form1()
            {
                InitializeComponent();            WB.Parent = this;
                WB.Navigate(URL); 
                WB.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(WB_DocumentCompleted); 
            }        void WB_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                if (e.Url.ToString() == URL)
                {
                    MessageBox.Show("加载完毕");
                    WB.DocumentText = "<input type='button' value='点击返回上一页' onclick='history.back()'/>";
                }
            }
        }
    }
      

  4.   

      if (e.Url.ToString() == URL)
    这个判断写得有问题,返回上一页后会执行加载完毕,反正大概就是这个意思
      

  5.   

    返回也可以使用webbrowse的GoBack方法
      

  6.   

    在点击某个链接或按钮时,会打开一个网页,但这个网页会自动转向另外一个网页(通过javascript定时器或别的方法),怎样判断最终的网页被打开完成了呢?
      

  7.   

    private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    if(webBrowser.ReadyState == WebBrowserReadyState.Complete)
    {
    OK完成
    }
    }
      

  8.   

    private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 

    if(webBrowser.ReadyState == WebBrowserReadyState.Complete) OK完成 

    }
      

  9.   

    这个不行吧,我在webBrowser_DocumentCompleted中,执行以下语句,打开一个新的网页,还会激发webBrowser_DocumentCompleted事件么?
    HtmlElement htmlElement_button = this.webBrowser1.Document.GetElementById("submitinput");
    htmlElement_button.InvokeMember("click");
      

  10.   

    在webBrowser_DocumentCompleted中,执行以下语句,打开一个新的网页
    HtmlElement htmlElement_button = this.webBrowser1.Document.GetElementById("submitinput"); 
    htmlElement_button.InvokeMember("click");怎样判断这个新打开的网页是否打开完成
      

  11.   

    qlzf11140820你的方法我测试了,没有效果
    if (this.webBrowser1.ReadyState=WebBrowserReadyState.Complete)
                {
                    MessageBox.Show("aaa");
                }