none
如何实现连接数据库时显示进度条的滚动 RRS feed

  • 问题

  • 我想实现在窗体上连接数据库的时候,进度条一直在滚动,直到数据库连接成功。

    进度条是这样的 this.toolStripProgressBar1.Style = ProgressBarStyle.Marquee;

    但是一旦我调用数据库连接函数,进度条就停在那一动不动,直到数据库连接成功后才正常滚动。这个情况用多线程也想不出该怎么解决,因为进度条滚动不受我控制,是进度条控件自己在运行,不知如何实现,请各位高手给我个思路,谢谢。


    业精于勤,荒于嬉,行成于思,毁于随。
    2010年4月1日 12:33

答案

  • 你好!

         你可以把连接数据库的工作放到其他线程中进行,或是直接使用BackgroundWorker控件来实现,这样就不会阻塞界面了啊!


    周雪峰
    2010年4月2日 13:32
    版主

全部回复

  • 连接数据库的过程应该是不可控的,所以进度条也只是自己走而已,也许放个gif动态图片上去更方便……

    理论上用了后台工作线程的话ui是不会有影响的,具体有空试试看了。


    霸王
    2010年4月2日 1:42
  • 连接数据库的过程应该是不可控的,所以进度条也只是自己走而已,也许放个gif动态图片上去更方便……

    理论上用了后台工作线程的话ui是不会有影响的,具体有空试试看了。


    霸王


    实际上就是用线程。不会阻塞ui

    不过为了显示动作,建议搞一个虚拟的进度,如同windows登陆一样,始终循环在那里跑,等你连接完成了,就结束。


    family as water
    • 已建议为答案 RLib 2010年4月3日 15:47
    • 已标记为答案 KeFang Chen 2010年4月5日 2:40
    • 取消答案标记 孤光掠影 2010年4月5日 4:07
    • 取消建议作为答案 孤光掠影 2010年4月5日 5:27
    2010年4月2日 2:13
  • 你好!

         你可以把连接数据库的工作放到其他线程中进行,或是直接使用BackgroundWorker控件来实现,这样就不会阻塞界面了啊!


    周雪峰
    2010年4月2日 13:32
    版主
  • 一个线程负责连接

    另一个控制滚动

    2010年4月3日 15:46