就是说,MainForm启动需要加载很多东西.就需要提前显示一个启动画面...
是先加启动,启动画面表单,还是先启动MainForm ???

解决方案 »

  1.   

    加入
    Application.DoEvents();
            this.Refresh();
      

  2.   

    http://www.codeproject.com/csharp/apploadingarticle.asp?target=splash
      

  3.   

    给一个我做得列子
    private void FrmMain_Load(object sender,System.EventArgs e)
    {
     frmSplash=new FrmSplash();//一个我设计的封面表单
     frmSplash.SetStatus("正在连接数据库....");//一个函数,在状态条中显示文本
     frmSplash.TopMost=true;
     frmSplash.Show();
     frmSplash.Update();
     .
     .
     .
    }
      

  4.   

    dahuzizyd(你就是我心中的女神) 提供的太棒了!
      

  5.   

    RE:你是我心中的女神那个以前看过,能不能不用类实现?????只是很普通的启动画面,用不着这么复杂吧?看不太懂~~~~~RE: 拨剑四顾.....
    我的MainForm启动时要加载很多数据.
    按你的方法,行不通.
    首先,那Mainform先显示出来了,(我的目地是先显示那闪屏)
    加载完了以后才显示Mainform的.
      

  6.   

    不是吧,你有没有实际试过,绝对不会先显示Mainform!
      

  7.   

    把你的函数放到FrmMain_Load函数中
    最后释放frmSplash
    private void FrmMain_Load(object sender,System.EventArgs e)
    {
     frmSplash=new FrmSplash();//一个我设计的封面表单
     frmSplash.SetStatus("正在连接数据库....");//一个函数,在状态条中显示文本
     frmSplash.TopMost=true;
     frmSplash.Show();
     frmSplash.Update();
     myLoad();
     frmSplash.Close();
     frmSplash.Dispose();
    }
      

  8.   

    我昏.我还不至于菜到这种程度吧,当然是放在  Load事件里啊.
      

  9.   

    >_<我的载入时,可能是占用CPU时间太多了吧,只要显示SPLASH.就会出现停顿.