Exemplo n.º 1
0
        /// <summary>
        /// 委托实例
        /// </summary>
        /// <param name="obj">在多线程间传递数据</param>
        private void Show(object obj, mcSocketServerClient pmSocketClient)
        {
            if (mscCtrl.fmMain.InvokeRequired)
            {
                msDataTableWithSocket tDTWS = new msDataTableWithSocket();
                tDTWS.socket    = pmSocketClient;
                tDTWS.dataTable = (DataTable)obj;
                mscLog.Write(tDTWS.dataTable);

                                showDGV.Invoke(new EventHandler(Fm_Delegate), new object[] { tDTWS, EventArgs.Empty });
            }


            if (showDGV.InvokeRequired)
            {
                                //由于windows窗体及其他控件不具备跨线程的能力,所以这里必须调用控件的异步委托方法
                                showDGV.Invoke(new EventHandler(DGV_Delegate), new object[] { obj, EventArgs.Empty });
            }
        }
Exemplo n.º 2
0
                //控件调用的方法
        private void Fm_Delegate(object sender, EventArgs e)
        {
            msDataTableWithSocket tDTWS = (msDataTableWithSocket)sender;

            mscCtrl.Sorter(tDTWS.dataTable, tDTWS.socket);
        }