用多线程,因为你有时时更新的文字,在窗体上这部分代码占了整个程序的资源,因此窗体没办法刷新,或者做别的事情,把这部分代码放到线程中,比如:
    void ShowWord()   //时时更新的代码
   {...}
   void Form1_Load(object obj,EventArgs ea){  //窗体载入时触发
      Thread thread=new Thread(new ThreadStart(ShowWord));
      thread.Start();
       ...
  }                                                   wish u good luck
                                                        Greatsft

解决方案 »

  1.   

    是你的工作线程直接操作UI线程的原因。调用控件的Invoke方法,自己定义一个代理。
      

  2.   

    同意楼上的说法,要把你的工作线程和界面线程分离开来.
    参见http://www.yesky.com/20030225/1653758.shtml
      

  3.   

    谢谢各位老大,我试试,然后揭帖.再问一句还有没有其他可能或者方法,我的程序里是执行一个for循环操作
      

  4.   

    用Application.DoEvent();
    或System.Threading.Thread.Sleep(100);
    这样你的FOR就不会全部占用CPU了,会让程序来执行刷新等操作.
      

  5.   

    C#开发的短信群发软件源代码超低价出售
    采用AT指令集使用GPRS MODE或手机
    下载地址:http://www.szlon.com
      

  6.   

    我的FOR循环并没有占全部的CPU阿,只有一少部分,进度条还是变化的动的,就是窗体上的Lable的文本到最后变一下(循环最后的数值),并且程序执行时,窗体拖不动,拖了后好大一会才反应过来,如果有别的程序覆盖这个窗体,在关闭别的那个程序界面后,屏幕上此程序的那块位置背景好长时间才刷新,高人指点阿
      

  7.   

    我遇到过这种情况,不过我只是把窗体的Show改为ShowDialog()就行了
    你不仿试试