在一个窗体上有一个Button,一个WebBrowser控件!当我点击Button的时候WebBrowser跳转页面。webBrowser1.Navigate("http://www.sohu.com");我对WebBrowser不熟悉,我点Button的时候如何判断这个页面已经加载完毕了吗?判断没打开页面?请各位前辈最好代码指教!

解决方案 »

  1.   

    有个 DocumentCompleted 事件
      

  2.   

    在Button的Click事件里写webBrowser1.DocumentCompleted 事件?
      

  3.   

    你button的Click事件怎么来的webBrowser1的DocumentCompleted事件就怎么来
    你应该是拖个控件到窗体的吧,那就在属性中的事件里找到这个事件,然后双击写代码
      

  4.   

    我重新规整了一下!
    两个窗体Form1.cs 主窗体。
    LoadingFrom.cs 检测窗体。Form1.cs  代码如下:using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;namespace WebBrowser_Test
    {
        public partial class Form1 : Form
        {
            LoadingFrom loadfrom;
            public Form1()
            {
                loadfrom = new LoadingFrom();
                InitializeComponent();
            }
            System.Threading.AutoResetEvent obj = new System.Threading.AutoResetEvent(false);
            private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                obj.Set();
                
            }
            private void btSohu_Click(object sender, EventArgs e)
            {
                loadfrom.Show();
                this.webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);            webBrowser1.Navigate("http://www.sohu.com");
                obj.Reset();
                while (obj.WaitOne(10, false) == false)
                {
                    Application.DoEvents();
                }
                MessageBox.Show("加载完毕!");
                loadfrom.Close();
                this.webBrowser1.DocumentCompleted -= new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
            }
        }
    }
    LoadingFrom.cs  页面无任何代码就是一个Loading页,其实我想做的是,在Loading窗体里检测WebBrowser加载完页面没有,如果加载完了就关闭。
      

  5.   

    看你老帖子
    http://topic.csdn.net/u/20111129/10/9035a778-c51c-4a6f-a704-0ce141f900b1.htmlpublic Form1()
            {
                InitializeComponent();
                this.webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
            }
    _loginLoading = true;
                while (_loginLoading == true)
                {
                    Application.DoEvents();
                }
    注意看这里
      

  6.   

    如果仅仅是判断文件是否加载完成,也可以这样判断private void btSohu_Click(object sender, EventArgs e)
    {
    ...
    while (webBrowser1.IsBusy)
    {
    System.Threading.Thread.Sleep(1000);
    }
    ...
    }或者private void btSohu_Click(object sender, EventArgs e)
    {
    ...
    while (webBrowser1.ReadyState!= WebBrowserReadyState.Complete)
    {
    System.Threading.Thread.Sleep(1000);
    }
    ...
    }就是使用ReadyState或者IsBusy属性