多线程异步实现(backgroundworker)

private void MonitorTime_Tick(object sender, EventArgs e) {
            if (bgWorker.IsBusy)
                return;


            bgWorker.RunWorkerAsync();
        }


        private void bgWorker_DoWork(object sender, DoWorkEventArgs e) {
            TreeNode node = TvWorkplace.Nodes[1];
            this.Invoke(new DataLoadCompleteHandler(GetWorkQty));
        }


        // 当数据查询完成时,需要通过主线程显示数据(异步线程没有对控件的写权限)
        // 下面委托就是为通知主线程显示数据而定义的
        private delegate void DataLoadCompleteHandler();

你可能感兴趣的:(WinForm)