winform跨線程更新ui 跨線程調(diào)用WINDOWS窗體控件?
跨線程調(diào)用WINDOWS窗體控件?把線程啟動(dòng)代碼放到Form1的Load事件里面去 窗口句柄就是Form的Handle屬性。不過.Net 2.0之后用Form的Invoke方法就行了,這個(gè)會(huì)自動(dòng)發(fā)一
跨線程調(diào)用WINDOWS窗體控件?
把線程啟動(dòng)代碼放到Form1的Load事件里面去 窗口句柄就是Form的Handle屬性。不過.Net 2.0之后用Form的Invoke方法就行了,這個(gè)會(huì)自動(dòng)發(fā)一條消息到主線程,主線程處理這條消息的時(shí)候會(huì)執(zhí)行你給定的委托。
虛心求教c#在其他類中跨線程調(diào)用form中的控件,如何實(shí)現(xiàn)呢?
)程序中定義了一個(gè)窗體類實(shí)例 form1,然后又定義了一個(gè)非窗體的運(yùn)算處理類 Food。2)在form1中的按鍵點(diǎn)擊事件中,創(chuàng)建了10個(gè)線程,來跑“運(yùn)算處理類Food”中的某個(gè)方法。3)然后要把運(yùn)算處理類Food”中的某個(gè)方法的計(jì)算結(jié)果,顯示在form1窗體的textBox上。單純的跨線程訪問控件,可以通過invoke和beginInvoke來解決,而現(xiàn)在,跨線程,又跨類后,無(wú)法在Food類中調(diào)用 textBox.Invoke() 否則會(huì)報(bào)錯(cuò)。