日期:2014-05-18  浏览次数:20805 次

怎么遍历combox的每一个url值就跳转到指定的url页面
我在一个combox里放了三个url,我通过一个按钮点击事件遍历combox的内容,得到一个url就跳转到指定的页面,现在问题的是为什么,我遍历combox的时候,它要遍历完才跳到webBrowser1_DocumentCompleted_1事件中,为何,求指教!我要遍历一个combox值就跳到webBrowser1_DocumentCompleted_1事件中?

------解决方案--------------------
遍历的时候调用webBrowser1_DocumentCompleted_1事件,,,
------解决方案--------------------
探讨

遍历的时候调用webBrowser1_DocumentCompleted_1事件,,,

------解决方案--------------------
Navigate是异步,调用完马上返回。因此还没有来得及载入就Navigate到另一个页面去了,因此前面的webBrowser1_DocumentCompleted_1不会被调用。


------解决方案--------------------
参考代码:

C# code

int i = 0;

        private void button1_Click_1(object sender, EventArgs e)
        {
            i = 0;
            BrowseDropdownlistItem();

        }

        private void BrowseDropdownlistItem()
        {
            if (i < comboBox1.Items.Count)
            {
                string url = comboBox1.Items[i].ToString();
                webBrowser1.Navigate(url);
            }
        }

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            //避免webbroswer.DocumentCompleted被多次引发
            if ((e.Url != webBrowser1.Url) || (webBrowser1.ReadyState != WebBrowserReadyState.Complete))
                return;
            //下面写你要在页面加载完毕后执行的代码。

            i++;
            BrowseDropdownlistItem();
        }