【问题标题】:textbox in new thread [duplicate]新线程中的文本框[重复]
【发布时间】:2012-04-02 20:41:27
【问题描述】:

可能重复:
Cross-thread operation not valid

我将函数放到新线程中,但它不起作用。我有例外:

跨线程操作无效:控件“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();


    }

如何解决?

【问题讨论】:

    标签: .net c#-4.0


    【解决方案1】:

    您不能从创建它的线程(UI 线程)之外的另一个线程访问 UI 元素。如果您正在使用 WPF 或 Silverlight,您的替代方法是使用回调、引发您的 UI 线程订阅的事件或使用 Dispatcher

    如果您提供更多关于您想要实现的目标和您使用的技术的详细信息,我可以给出更完整的答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-25
      • 1970-01-01
      • 2010-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-14
      相关资源
      最近更新 更多