在webbrowser c#2秒到2秒内启动所有URL

时间:2017-12-10 17:19:51

标签: c# facebook

我打算用c#制作一个facebook应用程序。我提取组ID到textbox4.Text,我想去所有网站2秒到2秒.. 这意味着1个网站在2秒后显示2秒后会重定向到另一个网站...

我使用计时器获得2秒的持续时间,我想使用循环或其他东西去所有网站..我使用for循环,但它不打印所有网站。 它最后只打印网站...

这里我提取组ID,这没有问题

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    richTextBox1.Text = webBrowser1.DocumentText;
    textBox3.Text = string.Join(Environment.NewLine,
        richTextBox1.Text.Split('/', ' ', '?')
                .Where(m => m.Length > 14 && m.All(char.IsDigit)));
    label3.Text = (textBox3.Lines.Length).ToString()+" Groups";
}
当我要逐个启动这些代码时,

问题是遵循代码。

private void button2_Click(object sender, System.EventArgs e)
{
    textBox3.Text = string.Join(Environment.NewLine,
        richTextBox1.Text.Split('/', ' ', '?')
            .Where(m => m.Length > 14 && m.All(char.IsDigit)));
}

IEnumerator<string> websites;

private void button3_Click(object sender, System.EventArgs e)
{
    textBox4.Text = textBox3.Text;
    string[] groups = textBox4.Text.Split('\n');

    for (int i = 0; i < textBox3.Lines.Length; i++)
    {
        websites = new List<string> {"https://mbasic.facebook.com/groups/"+groups[i]}.GetEnumerator();
        timer1.Enabled = true;
        websites.MoveNext();
    }
}

private void timer1_Tick(object sender, EventArgs e)
{
    webBrowser1.Navigate(websites.Current);
    timer1.Enabled = websites.MoveNext();
}

请有人解决这个问题。

1 个答案:

答案 0 :(得分:0)

我认为您在每个循环中使用以下行覆盖您的网站对象:

websites = new List<string> {"https://mbasic.facebook.com/groups/"+groups[i]}.GetEnumerator();

这就是为什么它只打印最后一个网站。

查看How can I add an item to a IEnumerable collection?

此外,这也可以帮助您:IEnumerable vs. IEnumerator and implementation