Windows Mobileは、引数付きのThreadを生成出来ません(確か…)。
なので、引数付きThreadぽいクラスを定義します。
/// <summary> /// 画像ダウンロード用スレッド /// </summary> public class DownLoadPictureThread { public EventHandler DownloadComplate; private PictureInfo Info { set; get; } private System.Threading.Thread Thread; private int RetryCount; public DownLoadPictureThread(PictureInfo info) { Info = info; Thread = new System.Threading.Thread(DownloadProc); RetryCount = 1; } public DownLoadPictureThread(PictureInfo info, int retryCount) { Info = info; Thread = new System.Threading.Thread(DownloadProc); RetryCount = retryCount; } public void Start() { Thread.Start(); } private void DownloadProc() { // ここに画像をダウンロードする処理を書く } /// <summary> /// ダウンロードが完了した事を通知する /// </summary> /// <param name="bmp"></param> public void OnDownloadComplate(Bitmap bmp) { if (this.DownloadComplate != null) { this.DownloadComplate(this, new DownloadComplateEventArgs(this.Info)); } } }
引数に先程定義した画像管理クラスを渡して、指定したURLの画像をDownloadProcメソッドでダウンロードします。ダウンロードが完了したらOnDownloadComplateメソッドで呼び出し元に通知します。
OnDownloadComplateメソッドの引数がおかしい気がするけど気にしない。