新主题中的文本框

时间:2012-03-17 17:05:56

标签: .net c#-4.0

  

可能重复:
  Cross-thread operation not valid

我的功能我放到新线程,但它不起作用。我有例外:

  

跨线程操作无效:从a访问控制'textBox1'   除了创建它的线程以外的线程。

我的代码:

    void licz()
    {
        int wynik = 0;
        for (int i = 0; i < 200; i++)
        {

            wynik =+ i;
            textBox1.Text += wynik.ToString() + Environment.NewLine;

        }
        MessageBox.Show("Wynik: " + wynik);
    }

    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
         Thread th1 = new Thread(licz);
         th1.Start();


    }

如何解决?

1 个答案:

答案 0 :(得分:1)

您无法从创建UI元素的其他线程(UI线程)访问UI元素。您的替代方案是使用回调,引发您的UI线程订阅的事件,或者如果您正在使用WPF或Silverlight,则使用Dispatcher

如果您提供有关您正在尝试实现的内容以及您正在使用的技术的更多详细信息,我可以提供更完整的答案。