c #webbrowser导航循环冻结形式

时间:2017-02-23 18:52:56

标签: c# webbrowser-control

我试图在表单中显示网站并自动重新加载网站以查看是否存在某个文本。我是用C#形式做的,然后尝试用按钮调用一会儿。这是我的代码:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();       
    }

    private void btnStartLoop_Click(object sender, EventArgs e)
    {
        lblStatusLoop.Text = "Status loop: Started";
        lblStatusLoop.ForeColor = System.Drawing.Color.Green;
        int i = 0;
        while (i < 10)
        {
            Browser.Navigate("www.google.com");
            Browser.DocumentCompleted += Browser_DocumentCompleted;
            Thread.Sleep(5000);
            i++;
        }
    }

    void Browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        string ZoekText = txtSearchbox.Text.ToString();
        if (Browser.DocumentText.Contains(ZoekText))
        {
            lblSearchResult.Text = "Text found";
        }
        else
        {
            lblSearchResult.Text = "Text not found";
        }
    }
}

当我按下按钮时,应用程序冻结,我必须强制退出它。我已经对谷歌进行了一些研究,建议是等待文档完成加载,但它没有效果。

我没有太多的编程经验,没有人可以依赖,所以我希望这里有人可以指出我正确的方向。

0 个答案:

没有答案