咦:label1.Caption="程序运行中,请稍候..."    label1.refresh

解决方案 »

  1.   

    你在检查检查,有没有Label1?
    不应该有这个错误呀
      

  2.   

    如果refresh不行,可以用doevents试试
      

  3.   

    同意楼上同志的观点,如果“处理程序”时、长时间占用了大量的内存,那么会造成程序没有响应,只有使用多线程的方法才能使 Label1 看得见。
      

  4.   

    Doevents 也可以试试。
    Private Sub Command3_Click()
        Label1.Caption="程序运行中,请稍候..."    '这里是处理程序...
        DoEvents
        Label1.Caption = "操作完成"
    End Sub
      

  5.   

    如下的代码也不行
    Private Sub Command1_Click()
    Dim i As Long
    ProgressBar1.Min = 0
    ProgressBar1.Max = 16000ProgressBar1.Value = 0For i = ProgressBar1.Min To ProgressBar1.Max - 1
       ProgressBar1.Value = ProgressBar1.Value + 1
       Label1.Caption = Format(ProgressBar1.Value / ProgressBar1.Max, "Percent")
    Next
    End Sub
      

  6.   

    你用的是顺序行式,程序在执行
    Private Sub Command3_Click()
        label1.Caption="程序运行中,请稍候..."'//显示不出来,因为系统没有时间去处理他
        '这里是处理程序...
        Label1.Caption = "操作完成"'//显示出来
    End Sub
    解决办法:
    1> 加一 Timer 控件 将处理程序写在Timer的事件中,同时在Command3_Click()中加上回复人: Doevents  ,,或反之2> 开线程,将Label1的Caption变化写在线程中,或反之3> 另加一 Form ,将Label1.Caption="程序运行中,请稍候..."和处理程序写在form_load中。
      

  7.   

    哦,剪贴错误:
    1>加一 Timer 控件 将处理程序写在Timer的事件中,同时在Command3_Click()中:
    在 你的处理程序中的开使处加上:
               label1.Caption="程序运行中,请稍候..."
               Doevents
    在 你的处理程序中的结束处加上:
              label1.Caption="操作完成"
      

  8.   

    哎又剪贴错了
    1>加一 Timer 控件 将处理程序写在Timer的事件中,
    在 你的处理程序中的开使处加上:
              label1.Caption="程序运行中,请稍候..."
              Doevents
    在 你的处理程序中的结束处加上:
              label1.Caption="操作完成"
    在Command3_Click()中射一标志,以起动Timer事件
      

  9.   

    记住:如果处理程序在运行的时候,可能会来不及显示label1.caption的改变,可以用REFRASH或者doevents来解决!太简单了!!