private delegate void UpdateDataGridView(DataTable dt); private void UpdateGV(DataTable dt) { if (dataGridView1.InvokeRequired) { this.BeginInvoke(new UpdateDataGridView(UpdateGV), new object[] { dt }); } else { dataGridView1.DataSource = dt; dataGridView1.Refresh(); } } public void ShowDT() { DataTable dt = null;//这里的null是DataTable源数据 UpdateGV(dt); } Task.Factory.StartNew(() => ShowDT());