異步更新ui

private void btnQuery_Click(object sender, EventArgs e)
        {
            long index =0;//傳值
            Thread t = new Thread(new ParameterizedThreadStart(Exe));
            t.Start(index);
        }
        private void Exe(object index)
        {
        //耗時操作
            var task = Task.Factory.StartNew(() =>
            {
                while (true)
                {
                    try
                    {
                    	//判斷條件符合後跳出循環
                        break;
                    }
                    catch (Exception ex)
                    {
                        this.Invoke((EventHandler)delegate
                        {
                            MessageBox.Show(ex.Message);
                        });
                        break;
                    }
                }
            });
            task.Wait();//等待task執行結束
            this.Invoke((EventHandler)delegate
            {
                //更新ui
            });
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章