C# 跨線程賦值的簡單做法


   

    通常,C#是不許跨線程賦值的,如:Form1中有個textbox, 若開辟一個新的線程來給

這個textbox賦值時,會出現異常。

    MSDN中提出了具體的做法,較為繁瑣,就不說了。

    我這里有個簡單辦法。

    大多數能賦值的控件都有invoke 方法,invode方法中不是要一個Delegate型參數么,

那簡單,可以隨便找個.NET自定義的Delegate,如ThreadStart就行了,因此都可以這樣做:

                    yourControl.Invoke(new ThreadStart(delegate(){
                    yourControl.Text = str;  ==注意,這個str就是Form1主線程中的變量    
                }));  

    簡單吧,,你就再無需定義委托了,也不用寫額外的方法等繁瑣的事情了。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM