我现在在菜单下打开一个窗体,但是在打开这个窗体时我就进行了一些操作(如读取数据库的数据),所以速度会有些慢,因此我想做一个预窗体,也就是在打开另一个窗体时先出现这个窗体,例如“读取中,请稍候”,我从没有看过这些方面的,而且我也是个菜鸟,不知道哪位高手能指点一下我啊!谢

解决方案 »

  1.   

    启动时先show预窗体,在预窗体中做程序的初始化工作,初始化完成之后,unload预窗体,show主窗体。
      

  2.   

    Private Sub Form_Load()
        frmSplash.Show
        DoEvents
        '你的操作,不过要记住,每一步后面都要跟上DOEVENTS语句,否则刷新不了
        DoEvents
        Unload frmSplash
    End Sub
      

  3.   

    frm.show 
    '初始化代码
    ...
    ...
    unload frm
      

  4.   

    启动工程时把预窗体作为启动窗体,在“工程”菜单下选择最后一项,工程的属性,打开后,在第一个选项卡中的“启动窗体”项,选择预窗体。
    在预窗体中做程序的初始化工作,初始化完成之后,unload预窗体,show主窗体。预窗体的代码:
    Private Sub Form_Load()
        '初始化工作的代码
            DoEvents' 将操作权交给操作系统,
        主窗体.show
        Unload me
    End Sub
      

  5.   

    upto:cuizm(射天狼)  DoEvents
        '你的操作,不过要记住,每一步后面都要跟上DOEVENTS语句,否则刷新不了
        DoEvents
      

  6.   

    新建一个窗体加一个timer控件
    Private Sub Timer1_Timer()
      Timer1.Enabled = False
       Main
        Me.Hide
        Unload Me
       主窗体.Show
    End Sub
      

  7.   

    SORRY main 是我的一个函数!你用时请去掉!
      

  8.   

    请问DoEvents 是什么函数来的!!可以说清楚点吗?谢了~~
      

  9.   

    msdn里的解释:
    DoEvents 会将控制权传给操作系统。当操作系统处理完队列中的事件,并且在 SendKeys 队列中的所有键也都已送出之后,返回控制权。DoEvents 对于简化诸如允许用户取消一个已启动的过程 — 例如搜寻一个文件 — 特别有用。对于长时间过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE 部件来完成。以后,任务还是完全独立于应用程序,多任务及时间片由操作系统来处理。小心 确保以 DoEvents 放弃控制权的过程,在第一次 DoEvents 返回之前,不能再次被其他部分的代码调用;否则会产生不可预料的结果。此外,如果其它的应用程序可能会和本过程以不可预知的方式进行交互操作,那么也不要使用 DoEvents,因为此时不能放弃控制权。