如何为方法制作队列(延迟)?

时间:2015-05-11 13:14:32

标签: c#

我在Form1_load方法中放置了两个方法,当我的表单加载时,方法private void get()没有得到webBrowser1.DocumentTitle,它是空的,但网页已加载。

如何在加载get()后建立队列或延迟以运行url()? 如果我将get()分配给某个按钮,则代码运行正常。

private void Form1_Load(object sender, EventArgs e)
    {
        url();
        get();
    }


    private void url()
    {
        string url = "https://oauth.vk.com/authorize?client_id=4908966&scope=notify,friends,photos,audio,video,status,wall,groups,messages,stats&redirect_uri=https://oauth.vk.com/blank.html&display=page&response_type=token";
        webBrowser1.ScriptErrorsSuppressed = true;
        webBrowser1.Navigate(url);
    }
    private void get()
    {
        if (webBrowser1.DocumentTitle == "OAuth Blank")
        {
            string get_string_url = webBrowser1.Url.ToString();
            string split = get_string_url.Split('&')[0];
            string split2 = split.Split('=')[1];
            textBox1.Text = split2;
        }
    }

1 个答案:

答案 0 :(得分:1)

使用此类DocumentCompletedNavigated个事件。

private void Form1_Load(object sender, EventArgs e)
{
    webBrowser1.DocumentCompleted += (_s, _e) =>
    {
        // do something with DocumentTitle
        this.Text = webBrowser1.DocumentTitle;
    };
    webBrowser1.Navigate("http://stackoverflow.com/questions/30168674/how-to-make-queuedelay-for-methods");
}