自制一个简易的进度条,大致用途就是群发邮件时每成功发送一封邮件进度条就涨一截。
问题如下(我是新手,才工作两个月,望各位大大勿笑):
[刚才发过一帖了,但是图挂了,有人回复不让编辑,只好重开一帖,见谅!]winform的

解决方案 »

  1.   

    你说的是lable的文字显示不正常么?
    常识下每次更新进度条的时候this.refresh();一下.
      

  2.   

    用多线程应该能解决。问题估计是你邮件群发,就像你查询很多数据的时候,软件会出现无法响应,这个时候你可以另开一个线程来解决发送邮件,Form的界面就不会收到影响了。线程怎么写,到MSDN上去找..
      

  3.   

    2楼3楼两位前辈,我那个进度条能正常用的,只是显示效果不如意,本来应该显示Lable和进度条背景panel的地方变成一片白了。
      

  4.   

    是winForm的吗,我记得好像有个进度条控件里。
    不知道记得对不对。
      

  5.   

    你看看这个http://topic.csdn.net/u/20100629/10/bdd7fcfa-0cb9-4702-b263-a663dccd1b4e.html?r=66576549
      

  6.   


    这样可能会解决你的label不显示的问题,但你程序去执行发送邮件的操作时,主窗体可能会因为等待而卡死,建议用线程,,,
      

  7.   


    用this.Refresh()解决了,谢谢!不过还有个蛋疼的问题..Form上面那个Lable,本来我是用Timer想让它在“操作中.”“操作中..”“操作中...”三种状态中来回变,让用户知道页面没有卡死。但是发现Timer的Tick事件跳不进去,后来再试一下才发现不是Timer的问题,而是Form上的所有控件都处于不可用状态(放个Button,点不了;放个TextBox,输不了内容..不过panel的长度倒是可以正常增长),Enable我也没动啊....求指导,求解惑..
      

  8.   

    用BackgroundWorker
    自己查查用法