我的主窗體Form1
運行了我的程序的主體。C#獲取原始線程來設置文本框的值
我有一個單獨的線程開始執行算法。
當我從運行新線程的方法,方法MyAlgorithm()
我得到的錯誤
InvalidOperationException異常與消息,「控制控制的名字從比它創建的線程以外的線程訪問。」
如何返回到原始線程以便我可以運行該方法以使用最新值更新我的文本框?
這是我想要運行的方法,包含在我的應用程序中的主要類Form1中。我已經看過Invoke()方法,但我不知道如何從線程方法獲取我的Form1的原始實例。
我調用我的線程是這樣的...
// Set the algorithm method up in it's own thread
Thread thread = new Thread(new ThreadStart(MyAlgorithm));
// Run the algorithm
thread.Start();
[跨線程操作無效:從其創建的線程以外的線程訪問控件]的可能重複(http://stackoverflow.com/questions/142003/cross-thread-operation-not-valid -control-accessible-from-a-thread-other-the) – 2012-03-22 17:47:01