C#怎么知道动态页面加载完成

2025-09-25 06:23:58

1、打开visual studio 2010

C#怎么知道动态页面加载完成

2、建立Winform项目,界面如图。

C#怎么知道动态页面加载完成

3、添加一个Textbox控件,一个Button控件,一个WebBrowser控件。

Button控件的Text属性改为 加载网页。

C#怎么知道动态页面加载完成

4、双击 加载网页 按钮,进入代码界面。

C#怎么知道动态页面加载完成

5、给Form1的Load时间增加代码。

        private void Form1_Load(object sender, EventArgs e)

        {

            this.webBrowser1.Navigated += new System.Windows.Forms.WebBrowserNavigatedEventHandler(AddCount);

            this.webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(CheckState);

        }

增加两个函数 AddCount——增加计数计数,CheckState——检查状态

代码如下。

        /// <summary>

        /// 计数变量

        /// </summary>

        private int loadcount = 0;

        /// <summary>

        /// 计数器递增函数

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        public void AddCount(object sender, EventArgs e)

        {

            loadcount++;//navigated一次,计数加一

        }

        

        /// <summary>

        /// 页面加载完要执行的函数

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        public void CheckState(object sender, EventArgs e)

        {

            loadcount--;//completed一次,计数减一

            if (0 == loadcount)//计数等于0,页面加载完成

            {

                button1.Enabled = true;//恢复按钮可用

                MessageBox.Show("加载完成");

            }

        }

6、button1的点击事件增加代码。

        private void button1_Click(object sender, EventArgs e)

        {

            button1.Enabled = false;//按钮不可用

            this.webBrowser1.Navigate(this.textBox1.Text);

        }

7、为了方便测试,textBox1控件的Text属性设置为https://www.baidu.com/

C#怎么知道动态页面加载完成

8、点击运行。点加载网页,就开始加载baidu.com,同时 加载网页 按钮变灰,稍等一会,网页加载完成, 加载网页 恢复正常,同时弹出对话框

C#怎么知道动态页面加载完成

C#怎么知道动态页面加载完成

9、点击确定,就可以浏览百度的网页了。

这里为了偷懒,没有设置webBrowser1的大小(也可以利用Dock属性Fill,填满窗口),所以看着很小,实际开发中还是要根据需要设置一下。

C#怎么知道动态页面加载完成

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢