各位大师:
我有二个窗体,分别为A和B,A为主窗口,B为一个进度条显示窗口,上面有二个Label(用来写中文提示信息)和一个ProgressBar。当执行A窗口某一操作时,使用SHOW调用B窗口显示执行进度,现出现以下问题:当B窗口显示时Label无法显示,但ProgressBar能正常显示进度,要等ProgressBar显示完成后才能显示出Label的内容,是什么原因?我试放了一个EDIT在B窗口,结果能显示EDIT,但EDIT内的文字也无法显示出来,这是为什么?请指教,谢谢!

解决方案 »

  1.   

    改变progressbar时Label1.repaint重画一下
      

  2.   

    if not Assigned(FormB) then
        Application.CreateForm(TFormB,FormB);
        FormB.Show;
        FormB.UPdate;
      

  3.   

    呵呵,正解在此:Application.ProcessMessages;加到A窗体的事务处理中。
      

  4.   

    Label1.update;
    Label1.Refresh;
    在循环里要Application.ProcessMessages,给其他的程序CPU时间。