我正在使用vb.net,在我的程序中,当我运行背景工作者使该文本框启用时,会出现'跨线程操作无效'错误。我的主要子程序将首先将启用设置为false,当后台工作者运行时,它将再次将其设置为true然后退出。为什么会出现错误? FYI:这里有更多的代码,但我不想让它变得更加混乱...
这是堆栈跟踪:
这是堆栈跟踪:
at System.Windows.Forms.Control.get_Handle()
at System.Windows.Forms.Control.OnEnabledChanged(EventArgs e)
at System.Windows.Forms.Control.set_Enabled(Boolean value)
at Helium.Form1.BackgroundWorker1_DoWork(Object sender, DoWorkEventArgs e) in C:\Users\Kevin\documents\visual studio 2010\Projects\Helium\Helium\Form1.vb:line 167
at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
以下是准确的错误信息:
{"Cross-thread operation not valid: Control 'mainText' accessed from a thread other than the thread it was created on."}
有人能帮我吗!
谢谢,
KEvin