Ejemplo n.º 1
0
        protected void OnErrorMessageChanged(ErrorTabPageDrawEventArgs e)
        {
            EventHandler <ErrorTabPageDrawEventArgs> handler = ErrorTabPageDraw;

            if (handler != null)
            {
                handler(this, e);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 에러 그리드뷰 출력 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void HandleErrorInfoChanged(object sender, ErrorMessageEventArgs e)
        {
            this.dataGridViewBMSErrorHistory.SafeInvoke(d => d.Rows.Add(e.DataRowErrorInfo["Error Time"], e.DataRowErrorInfo["COM"], e.DataRowErrorInfo["BMS ID"], e.DataRowErrorInfo["Error Code"], e.DataRowErrorInfo["Error Value"]));

            this.dataGridViewBMSErrorHistory.SafeInvoke(d => d.CurrentCell = d.Rows[d.Rows.Count - 1].Cells[0]);


            // 메인폼으로 에러 상태 전달 ( 에러발생시 탭페이지 점멸 됨 )
            int error = e.DataRowErrorInfo["Error Code"].ToString().IndexOf("Cancel");


            ErrorTabPageDrawEventArgs tabPageDrawEvent;

            // 에러발생
            if (error == -1)
            {
                // 에러 발생 갯수 증가
                mErrorCount++;

                ErrorTabPageDrawClass tabPageDrawValue = new ErrorTabPageDrawClass(this.Com, true);
                tabPageDrawEvent = new ErrorTabPageDrawEventArgs(tabPageDrawValue);
                OnErrorMessageChanged(tabPageDrawEvent);
            }
            else
            {
                if (mErrorCount > 0)
                {
                    // 에러 발생 갯수 감소
                    mErrorCount--;
                }

                int comError = e.DataRowErrorInfo["Error Code"].ToString().IndexOf("COM");
                // COM 에러일경우는 점멸을 바로 없애준다.
                if (comError >= 0)
                {
                    mErrorCount = 0;
                    ErrorTabPageDrawClass tabPageDrawValue = new ErrorTabPageDrawClass(this.Com, false);
                    tabPageDrawEvent = new ErrorTabPageDrawEventArgs(tabPageDrawValue);
                    OnErrorMessageChanged(tabPageDrawEvent);
                }
            }


            // 모든 에러가 취소될경우 점멸끄기
            if (error > 0 && mErrorCount == 0)
            {
                ErrorTabPageDrawClass tabPageDrawValue = new ErrorTabPageDrawClass(this.Com, false);
                tabPageDrawEvent = new ErrorTabPageDrawEventArgs(tabPageDrawValue);
                OnErrorMessageChanged(tabPageDrawEvent);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 에러 발생시 발생된 탭을 선택하여 깜빡이게 한다. 단, 탭이 보여지진 않고 헤더부분만 색이 변한다.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void MainForm_ErrorTabPageDraw(object sender, ErrorTabPageDrawEventArgs e)
        {
            errorTabPageIndex = tabControl.TabPages.IndexOf(mTabPage[e.ErrorTabPageDraw.com]);

            if (e.ErrorTabPageDraw.error)
            {
                mErrorStatus[errorTabPageIndex] = true;
            }
            else
            {
                //errorTabPageIndex = -1;
                mErrorStatus[errorTabPageIndex] = false;
            }
        }