crossthread operations error

后端 未结 3 728
礼貌的吻别
礼貌的吻别 2021-01-25 21:43
      if (listBox1.InvokeRequired)
       {
           listBox = new StringBuilder(this.listBox1.Text);
       }

This is the code in c# which when exec

3条回答
  •  夕颜
    夕颜 (楼主)
    2021-01-25 22:31

    InvokeRequired only tells you that an Invoke is necessary in order to validly access the element. It doesn't make the access legal. You must use the invoke method to push the update to the appropriate thread

    Action update = () => listbox = new StringBuilder(this.listBox1.Text);
    if (listBox1.InvokeRequired) {
      listBox1.Invoke(update);
    } else {
      update();
    }
    

提交回复
热议问题