歡迎跟我連絡

本頁最下方有Web MSN可以直接跟我交談喔!
免安裝程式...哈哈 歡迎聊天

2009年3月4日 星期三

跨執行緒存取UI的一個方法

有時候WinFrom寫多執行緒時,卻出現了以下錯誤訊息
跨執行緒作業無效: 存取控制項 xxxxx 時所使用的執行緒與建立控制項的執行緒不同。

解決方法之一如下:
Form.CheckForIllegalCrossThreadCalls = false; //檢查開關

程式中有效管理大量資料的一個方法

有時候會遇到在程式中需要建立龐大的Array,ArrayList甚至是Queue.
可以運用下面方式(Pseudocode):

using System.Collections;
using System.Collections.Generic;
.....

Dictionary MyArryList = new Dictionary();
.....
//建立需要的ArryList
MyArryList.Add("同事資料", new ArrayList());
MyArryList.Add("朋友資料", new ArrayList());
MyArryList.Add("親戚資料", new ArrayList());
MyArryList.Add("同學資料", new ArrayList());

//使用
MyArryList["同事資料"][0] = ???;
MyArryList["同事資料"][1] = ???;
MyArryList["同事資料"][2] = ???;
MyArryList["同事資料"][3] = ???;

MyArryList["朋友資料"][0] = ???;
MyArryList["朋友資料"][1] = ???;
MyArryList["朋友資料"][2] = ???;
MyArryList["朋友資料"][3] = ???;
......

MSN狀態(我在線上時,可以跟我交談喔)