My Timer event crashes because the events are called on a different thread

前端 未结 8 1665
再見小時候
再見小時候 2021-01-21 10:49

I get the error \"Cross-thread operation not valid: Control \'label1\' accessed from a thread other than the thread it was created on.\" when I run this code:

us         


        
8条回答
  •  后悔当初
    2021-01-21 11:40

    While the "Accepted" answer is technically correct (in that this will fix the problem) this doesn't answer the question.

    The ANSWER is to use

    void T_Elapsed(object sender, ElapsedEventArgs e)
    {
        this.BeginInvoke(new MethodInvoker(delegate(){
            label1.Text = "This will work";
        }));
    }
    

    http://jaysonknight.com/blog/archive/2007/02/14/using-anonymous-methods-for-control-invoke-control-begininvoke.aspx

提交回复
热议问题