private static void thBeginInvoke2(object obj) { Control InvokeParent = (Control)((object[])obj)[0]; CallBack_Params callBack = (CallBack_Params)((object[])obj)[1]; int DelayMSecond = (int)((object[])obj)[2]; object[] objParams = (object[])((object[])obj)[3]; System.Threading.Thread.Sleep(DelayMSecond); try { InvokeParent.Invoke(callBack, objParams); } catch (Exception ex) { MessageBox.Show(ex.Message + InvokeParent.GetType() + " " + InvokeParent.Name); } }
/// <summary> /// /// </summary> /// <param name="InvokeParent"></param> /// <param name="callBack"></param> /// <param name="DelayMSecond"></param> /// <param name="objParams"></param> public static void BeginInvoke(Control InvokeParent, CallBack_Params callBack, int DelayMSecond, params object[] objParams) { //ThreadPool.QueueUserWorkItem(new WaitCallback(thBeginInvoke2), new object[] { InvokeParent, callBack, DelayMSecond,objParams }); CLDC_CTNProtocol.ThreadPool.QueueUserWorkItem(new WaitCallback(thBeginInvoke2), new object[] { InvokeParent, callBack, DelayMSecond, objParams }); }