我在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;
}
}
答案 0 :(得分:1)
使用此类DocumentCompleted
或Navigated
个事件。
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");
}