这个园子里有很多文章了
MSDN上也有例子
自定义线程安全访问UI线程控件
http://msdn.microsoft.com/zh-cn/library/a1hetckb(v=vs.110).aspx
//自定义线程
this.threadStart = new System.Threading.ParameterizedThreadStart(this.GetData); this.thread = new System.Threading.Thread(threadStart); this.thread.Start(); //线程函数 public void GetData() { DataTable Result= ExcuteSql(); SaseThreadProc(Result); }
//在自定义线程内安全把数据赋值给主窗体的列表控件 private void SaseThreadProc(DataTable res) { if (this.DataGridViewControl.InvokeRequired) { SetDataTableCallback stdv = new SetDataTableCallback(SaseThreadProc); this.Invoke(stdv, new object[] { res}); } else { this.DataGridViewControl.DataSource = res; } } //这里的DataGridViewControl就是主窗口的DataGridView控件
这是自己一个项目用的用法
读取就是一样的如this.DataGridViewControl.backcolor=red。手机上得,就随意下啦