我用线程将dataset写入datagridview,但是写完后滚动条就死了,麻烦各位大大帮我看看程序 本帖最后由 GUNDAM525 于 2010-01-06 10:29:28 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private void SetDataGridView() //控件操作 {DataViews.BeginUpdate();...DataViews.EndUpdate();}这样试试 private void BindThread() { //Control.CheckForIllegalCrossThreadCalls = false; ThreadStart bind = new ThreadStart(SetDataGridView); DataViewsThread = new Thread(bind); DataViewsThread.Start(); //加上这个等线程终止吧! Thread.Sleep(100); } 没有看懂你的写法,你每次调用Invoke时,好像都是采用线程来执行的,private delegate void delegateFunction();private void ThreadFun(){ThreadStart bind = new ThreadStart(InvokeFun); DataViewsThread = new Thread(bind); DataViewsThread.Start();}private void InvokeFun(){if (this.InvokeRequired){ delegateFunction d = new delegateFunction(InvokeFun);//这里应该指向自己,而不是线程 this.Invoke(d);}else{//执行实际绑定代码}} C# WINFORM 如何新建类来重写button的事件 移动SP网关 收费问题 treeview控件 关于XML的读写问题!! 问一个简单的添加新字段到DataSet的问题 asp.net下DataGrid数据批量提交问题 this问题指点 关于Socket编程 ,NAT穿透 关于数据库的查询和更新问题 怎么实现Form之间的参数传递?谢谢! C#模拟登陆的时候出现多个表单如何处理? 求救: c#调用 c的dll
{
DataViews.BeginUpdate();
...
DataViews.EndUpdate();
}这样试试
{
//Control.CheckForIllegalCrossThreadCalls = false;
ThreadStart bind = new ThreadStart(SetDataGridView);
DataViewsThread = new Thread(bind);
DataViewsThread.Start();
//加上这个等线程终止吧!
Thread.Sleep(100);
}
private delegate void delegateFunction();
private void ThreadFun()
{
ThreadStart bind = new ThreadStart(InvokeFun);
DataViewsThread = new Thread(bind);
DataViewsThread.Start();}
private void InvokeFun()
{
if (this.InvokeRequired)
{
delegateFunction d = new delegateFunction(InvokeFun);//这里应该指向自己,而不是线程
this.Invoke(d);
}
else
{
//执行实际绑定代码
}}