C# Datagridview在多线程中添加内容之后滚动条失效

时间:12-10-11 栏目:C#开发 作者:kyle 评论:0 点击: 10,734 次

在写工具的时候用简单的线程来做的。

为了省事。

在InitializeComponent()方法下面,直接加了一个

CheckForIllegalCrossThreadCalls = false;

就可以跨线程直接操作界面了。

然后操作界面的时候。用

gridWords.Rows.Add(new object[] { pos, result});

往Datagridview里面添加内容的时候。添加完成之后,滚动条居然失效了。查了一些资料发现是线程操作界面形成的。

线程里面不能直接添加,否则滚动条会失效。

为了修正错误就把add添加成异步来操作就OK了。

改正

if (this.InvokeRequired)
{
    this.BeginInvoke(new MethodInvoker(() =>
    {

       gridWords.Rows.Add(new object[] { pos, result});

    }), null, null);
}
else
{

gridWords.Rows.Add(new object[] { pos, result});
}

这样就可以正常显示滚动条了。

成都SEO小五嚎2句: 本文是(成都SEO小五)辛苦弄出来的,转载成都SEO小五原创的请保留链接: C# Datagridview在多线程中添加内容之后滚动条失效,3Q

C# Datagridview在多线程中添加内容之后滚动条失效:等您坐沙发呢!

来给哥评论评论


------====== 小五公告 ======------
成都SEO小五,专注成都搜索引擎优化。
小五善长站内外优化,C#、PHP开发,中英文SEO,Google中英文和百度优化技术。欢迎群内交流。伸手党请绕路,求资源的请绕开,求问题解答的请进群内交流。开放了一个QQ交流群:160750032。加入验证时请标注任何SEO相交字眼。友情链接直接Q我,收录正常,内容大部份原创、SEO或者程序开发、网络营销、线上推广等相关行业即可。

常用工具

赞助广告

来看过哥的人