Beispiel #1
0
        private void Animator()
        {
            MainCount++;
            if (MainCount > 1)
            {
                Console.WriteLine("查看当前的时间,跟踪为什么程序启动比较慢1: " + DateTime.Now.ToString());
                Console.WriteLine("正在尝试创建窗口,拦截");
                return;
            }
            //MainInfoOld frm = new MainInfoOld();
            MainInfo01 frm = new MainInfo01();

            // C# 判断窗体是否已经打开, 避免重复打开同一个窗体
            if (frm == null || frm.IsDisposed)
            {
                Console.WriteLine("查看当前的时间,跟踪为什么程序启动比较慢2: " + DateTime.Now.ToString());
                //frm = new MainInfoOld();
                frm = new MainInfo01();
                frm.Show();//如果之前未打开,则打开。
                Console.WriteLine("查看当前的时间,跟踪为什么程序启动比较慢3: " + DateTime.Now.ToString());
                frm.Visible = true;
            }
            else
            {
                frm.Show();     //如果之前未打开,则打开。
                frm.Activate(); //之前已打开,则给予焦点,置顶。
                frm.Visible = true;
            }

            pTimer_Elapsed(null, null); //当主窗体加载完成则移除本Form
            return;
        }
Beispiel #2
0
 //初始化等待处理函数
 private static void Application_Idle(object sender, EventArgs e)
 {
     Application.Idle -= new EventHandler(Application_Idle);
     if (context.MainForm == null)
     {
         //MainInfoOld mw = new MainInfoOld();
         MainInfo01 mw = new MainInfo01();
         context.MainForm = mw;
         mw.InitializeLifetimeService();
         //主窗体要做的初始化事情在这里,该方法在主窗体里应该申明为public
         frmSplash sp = (frmSplash)context.Tag;
         sp.Close();                                 //关闭启动窗体
         mw.Show();                                  //启动主程序窗体
     }
 }