跨執行緒訪問控制項的解決方案

2021-05-25 06:13:02 字數 796 閱讀 5260

最近我在做乙個專案,遇到了跨執行緒要去訪問頁面控制項.但是總是提示出錯,不能在其它執行緒中修改建立控制項的執行緒的控制項的值,後來採用了匿名**,結果很輕鬆地解決了.解決過程如下:

首先在窗體上,建立乙個listbox,lable.

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.text;

using system.windows.forms;

using system.threading;

public form1()

private void form1_load(object sender, eventargs e)

///

private delegate void crossthreadoperationcontrol();

int i = 1;

while (i<5)

label1.text = "我在新執行緒裡訪問這個lable!";

listbox1.items.add(label1.text);

}  ;

listbox1.invoke(crossdelete);           

}        }

}希望這個小技巧能夠對你的的學習和工作有所幫助.若有更好的辦法來解決跨執行緒訪問控制項的問題,不防也拿出來大家分享一下.

原文:

跨執行緒訪問及修改控制項屬性的解決方案

方法一 取消跨執行緒操作檢查 當執行緒b在訪問執行緒a建立的控制項時,執行緒a會對控制項的執行緒鎖進行檢驗,當多個執行緒同時對控制項進行寫操作時,必然產生衝突,因此此時的程式會非常不穩定,經常突然就退出,debug顯示原因是跨執行緒操作控制項了。既然如此,那就讓執行緒a不去檢驗其他執行緒了,在for...

Flex 跨域訪問解決方案

想讓swf 檔案在一台伺服器上執行並且能夠訪問另一台伺服器上的資源,這時就會遇到跨域問題,請看下面的解決方案。寫乙個名字為 crossdomain.xml 的xml檔案,這個方法是允許任何flash都可以呼叫,放到被呼叫檔案的 根目錄下 view plaincopy to clipboardprin...

跨域訪問解決方案 JSONP

關於什麼是跨域請求,可以參見我之前的博文 上述博文最後有提到解決方案,一直說補充,但是工作忙忘了,直到朋友問起這個問題,協助解決後,才想起來這麼一回事。通常來說跨域請求可以有2種解決方案,乙個是利用同域的後台伺服器請求後,在 二是利用jsonp.今天只談談jsonp,jsonp其中的padding恰...