none
請問thread更新UI的問題 RRS feed

  • 問題

  • 大家好:

    想請教關於子執行緒更新、控制UI的問題

    我寫了一個windows form程式

    在buttonClick中加入thread,用來執行另一個class中的方法

    這個方法執行完後,會產生一個自訂的結構存在此類別的物件中,想將這個結構更新到form上

    想請問:

    1. 該如何產生的結構傳給form顯示到textBox上?或是有其他作法?

    2.點擊button後,我先將button關閉,想要等方法執行結束後再開啟

    剛接觸C#程式,懇請大家幫助
    謝謝



    2017年2月18日 上午 04:59

解答

  • 問題1. 使用一個全域變數,或是所有 thread (包含 UI thread) 都能存取的變數去裝資料,再利用它來交換。但通常為避免互搶資源問題,可能都會用 thread synchronization 手法處理。至於 UI 端則是要用 Control.Invoke() 或 Control.BeginInvoke() 來觸發 UI 更新。

    問題2. http://stackoverflow.com/questions/1584062/how-to-wait-for-thread-to-finish-with-net


    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    • 已標示為解答 vincent1204 2017年2月18日 上午 07:59
    2017年2月18日 上午 06:09
    版主

所有回覆