Пример #1
0
        /// <summary>
        /// 辅助方法,当需要借助主线程进行某种操作时
        /// </summary>
        public void StartAssist()
        {
            var timer = new TimerHelp();

            timer.ExcuteCompleted += Assist_timer_ExcuteCompleted;
            timer.Start();
        }
Пример #2
0
        //public MyWebBrowser Browser
        //{
        //    get
        //    {
        //        return processBase._form.WebBrowser;
        //    }
        //}
        /// <summary>
        /// 对   TimerHelp Start     进行封装,提供判断  IsQuit() 的功能 ,子类不需要再判断
        /// </summary>
        public void TimerHelp_Start(ExcuteCompletedAgency excuteCompleted, object param = null, int times = 100, int intervalTimes = 100)
        {
            TimerHelp.Start((x, y, z) =>
            {
                if (IsQuit())
                {
                    //_form. RecordLog("IsQuit() 退出:" + excuteCompleted?.Method?.Name);
                    return;
                }

                excuteCompleted(x, y, z);
            }, param, times, intervalTimes);
        }
Пример #3
0
        void Assist_timer_ExcuteCompleted(TimerHelp timer, object param, bool isCancel)
        {
            lock (_assistActions)
            {
                if (_assistActions.Count > 0)
                {
                    try
                    {
                        foreach (var action in _assistActions)
                        {
                            try
                            {
                                action();
                            }
                            catch (Exception ee)
                            {
                                // var position = nameof(ProcessForm) + "--" + nameof(Assist_timer_ExcuteCompleted);
                                //var errMsg = ee.ErrMessage(position);
                                var errTitle = "【ProcessForm 定时方法执行异常】:";
                                //LogManager.全局异常重点关注_Error(errTitle + errMsg.DetailErrMessage);
                            }
                        }
                    }
                    catch { }
                    finally
                    {
                        _assistActions.Clear();
                    }
                }
            }

            //webBrowser销毁表示程序退出了
            if (!browser.IsDisposed)
            {
                StartAssist();
            }
            else
            {
                //打个日志
            }
        }