-2
 Thread main;

    public void bomb()
    {
        string link = textBox1.Text;


        for (int i = 0; i <= richTextBox1.Lines.Length; i++)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://" + link + "/");
            WebProxy myproxy = new WebProxy(this.richTextBox1.Lines[i], false);
            //request.Proxy = myproxy;
            request.Method = "GET";
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            label1.Invoke((MethodInvoker)delegate { label1.Text = i.ToString(); });
        }


    }

    private void button1_Click(object sender, EventArgs e)
    {

        main = new Thread(bomb);
        main.Start();

    }

但是行:richTextBox1.Lines.Length 和richTextBox1.Lines.[i]

产生错误:

跨线程操作无效:控件 'richTextBox1' 从一个线程而不是创建它的线程访问。

如果我想从richtextbox 中获取文本,一切都可以,但是如果我想获取行,我会出错。

谢谢。

4

1 回答 1

1

用于Invoke访问richTextBox1.Lines_label1

var lines = (string[])richTextBox1.Invoke(
                           (Func<string[]>)(() => this.richTextBox1.Lines));

同样适用于textBox1

于 2012-07-16T14:33:27.343 回答