RT,如果碰到窗体加载慢的时候显示正在加载,加载完后显示窗体。如果窗体加载快就不显示,直接显示窗体,网上查找资料,似乎可以用多线程的方式,请指教,最好给个例子学习下,谢谢各位!(注:有没有可能实现类似reportview控件的那种加载的显示方式)

解决方案 »

  1.   

    这个只能根据测试来手动添加功能吧 
    可以使用backgroundworker控件来试试
      

  2.   

    谢谢LS,backgroundworker,我没用过,我试试去
      

  3.   

    可以使用backgroundworker,网上下载个正在加载的图片,把他放到panel上,让它在DOWORK上变换就好了
      

  4.   

            private void BackWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
            {
                PicBox.Visible = false;
                tlp1.Visible = true;
            }        private void BackWorker_DoWork(object sender, DoWorkEventArgs e)
            {
                //要执行的动作
            }
            private void button1_Click(object sender,EventArgs e)
            {
                BackWorker.RunWorkerAsync();
            }
      

  5.   


       static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false); 


       Main.WaitForm sp = new Main.WaitForm(); //启动窗体---为等待窗口,显示正在加载窗体。、
               context = new ApplicationContext();
               context.Tag = sp;
               Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
               Application.Idle += new EventHandler(Application_Idle); //程序运行空闲去执行主程序窗体相应初始化代码 
               sp.Show(); //显示启动窗体
               Application.Run(context);
            }
     
     
     private static void Application_Idle(object sender, EventArgs e)
            {
                Application.Idle -= new EventHandler(Application_Idle);
                Start();
            }        private static void Start()
            {
                if (context.MainForm == null)
                {
                    //启动主程序窗体 
                    Main.MainDesktop mw = Main.MainDesktop();
                    context.MainForm = mw;
                    mw.Initialization_All();
                    mw.Show();                //如果加载完毕,则关闭启动窗体 
                    Main.WaitForm sp = context.Tag as Main.WaitForm;
                    if (sp != null)
                    {
                        sp.Close();
                    }
                }
            }测试可用