Я использую vb.net, и в моей программе я получаю эту ошибку «недопустимая межпоточная операция», когда я запускаю свой фоновый рабочий процесс, который сделает это текстовое поле включенным. Моя основная подпрограмма сначала изменит значение enable на false, а когда фоновый рабочий запустится, он вернет его обратно, а затем выйдет. Почему мне выдает ошибку? К вашему сведению: для этого есть еще код, но я не хочу делать его еще более запутанным...
Вот трассировка стека:
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."}
Может кто-нибудь, пожалуйста, помогите мне!
Спасибо,
Кевин