Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="Notice"></param>
        /// <param name="Title"></param>
        public static void ShowWaiting(string Notice, string Title)
        {
            SeampLock.WaitOne();
            TopWaiting hTopWaiting = new TopWaiting(Notice, Title);

            LstHTopWaiting.Add(hTopWaiting);
            CLDC_CTNProtocol.ThreadPool.QueueUserWorkItem(new WaitCallback(thShowWaiting), hTopWaiting);
            while (!hTopWaiting.IsHandleCreated && !hTopWaiting.IsDisposed)
            {
                Thread.Sleep(1);
            }
            SeampLock.Release();
        }
Exemplo n.º 2
0
        private static void thShowWaiting(object hObj)
        {
            TopWaiting hTopWaiting = (TopWaiting)hObj;

            CLDC_Comm.Win32Api.POINT CurPos = new Win32Api.POINT();
            if (CLDC_Comm.Win32Api.GetCursorPos(out CurPos))
            {
                //计算当前正在第几个屏幕
                System.Windows.Forms.Screen[] ArScreen = System.Windows.Forms.Screen.AllScreens;
                int index = Screen.GetScreenIndex(CurPos.X, CurPos.Y);
                //设置坐标
                Point PosLoc = new Point((ArScreen[index].WorkingArea.Width - hTopWaiting.Width) / 2, (ArScreen[index].WorkingArea.Height - hTopWaiting.Height) / 2);
                PosLoc.X            += ArScreen[index].WorkingArea.Left;
                PosLoc.Y            += ArScreen[index].WorkingArea.Top;
                hTopWaiting.Location = PosLoc;
            }
            hTopWaiting.ShowDialog();
        }
Exemplo n.º 3
0
 /// <summary>
 /// 隐藏等待框
 /// </summary>
 /// <returns></returns>
 public static void HideWaiting()
 {
     SeampLock.WaitOne();
     for (int i = 0; i < LstHTopWaiting.Count; i++)
     {
         try
         {
             TopWaiting hTopWaiting = LstHTopWaiting[i];
             try
             {
                 hTopWaiting.Invoke(new MethodInvoker(hTopWaiting.Close));
             }
             catch { }
         }
         catch { }
     }
     LstHTopWaiting.Clear();
     SeampLock.Release();
 }