/// <summary>
        /// 终止显示提示窗体
        /// </summary>
        public int Stop()
        {
            Monitor.Enter(Lock);

            do
            {
                if (_State == EnumBusyTipOperatorState.Released)
                {
                    break;
                }

                if (ShowCount <= 0)
                {
                    break;
                }
                if (--ShowCount > 0)
                {
                    break;
                }

                _State = EnumBusyTipOperatorState.Free;

                FrmTip.Invoke(new DelegateInvoke(FrmTip.Close));

                FrmOpCompletedEvent.WaitOne();
            } while (false);

            Monitor.Exit(Lock);

            return(1);
        }
        /// <summary>
        /// 释放非托管资源
        /// </summary>
        public void Dispose()
        {
            Disposed = true;

            if (this.State == EnumBusyTipOperatorState.Show)
            {
                Stop();
            }
            _State        = EnumBusyTipOperatorState.Released;
            StopTipThread = true;
            ShowTipEvent.Set();
            TipThread.Join();
        }
        /// <summary>
        /// 开始显示提示窗体
        /// </summary>
        public int Start()
        {
            Monitor.Enter(Lock);

            ++ShowCount;

            if (this.State == EnumBusyTipOperatorState.Free)
            {
                _State = EnumBusyTipOperatorState.Show;

                //通过ShowTipEvent事件向TipThread发送信息,使其显示提示窗体
                ShowTipEvent.Set();

                //等待提示窗体显示完成的信号  &  也可以通过以下方式实现:使当前线程挂起,然后在FrmTip_Load中恢复
                FrmOpCompletedEvent.WaitOne();
            }

            Monitor.Exit(Lock);

            return(1);
        }