关于.net 进度条显示问题

zhpmy1 2008-09-13 10:33:49
在项目中有个访问数据库的操作,操作时界面会卡住几秒,为了让客户知道程序正在处理,我就用进度条来显示操作正在进行,而不是显示操作进行的进度,所以我做了个循环来让进度条不停的滚动,这样已经实现,但问题出在下面:
我进行的操作是访问数据库,又要进行进度条滚动,所以进行了两个线程,一个进行滚动,一个进行数据处理,但不知为什么我查询出来的数据后放到DataGridView后就发现DataGridView的垂直滚动条不能用了。。。。线程都已经处理正确,但DataGridView的垂直滚动条就是不能用。。不知道有没有人碰到过。。。

我没有贴代码,个人觉得是线程处理有问题,但线程已经正确结束并运行时没抛异常。。。

希望哪位处理过进度条的朋友能否赐教? 在下谢谢了
...全文
620 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhpmy1 2008-09-16
  • 打赏
  • 举报
回复
谢谢各位了。。
ProjectDD 2008-09-14
  • 打赏
  • 举报
回复
ReportProgress(...)

中的percent就会通过,"进度事件,响应函数的参数,得到,并在进度事件响应函数中

通过这个得到的参数对进度条的进度值进行设置.
ProjectDD 2008-09-14
  • 打赏
  • 举报
回复
进步条可以考虑用 BackgroundWorker + ToolStripProgressBar组件来做

实现BackgroundWorker的三个事件,

完成,工作,报告

在"工作"和"报告"事件中进行进度通讯

工作事件是一个另开的系统工作线程,用于对付耗时的调用,只要你在这里使用

BackgroundWorker.ReportProgress(percent,state);

//0<percent<100,是关键的进度参数
//state一个相关用户状态对象..可用为参数传递的.

Kevin_LiuFeng 2008-09-14
  • 打赏
  • 举报
回复
新开一个线程进行数据处理。
怫悰 2008-09-14
  • 打赏
  • 举报
回复
冒泡帮顶接分

你在另一个线程里直接操作datagrideview了?
cg2003 2008-09-13
  • 打赏
  • 举报
回复
up

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧