예제 #1
0
        private void CommLogDisplay(string str, emMsgType nMsgType)
        {
            if (rtboxCMLog.InvokeRequired)
            {
                rtboxCMLog.BeginInvoke(new Action(() =>
                {
                    CommLogDisplay(str, nMsgType);
                }));
                return;
            }
            try
            {
                //this.Invoke(new EventHandler(delegate {
                if (rtboxCMLog.Lines.Length > 200)
                {
                    rtboxCMLog.Text = "";
                }
                int    nSelectStart = rtboxCMLog.TextLength;
                Color  clr          = Color.Lime;
                string strmsg       = "";
                switch (nMsgType)
                {
                case emMsgType.SEND_TEXT_1:
                    clr    = Color.Lime;
                    strmsg = "发送:" + str + "\n";
                    break;

                case emMsgType.SEND_TEXT_2:
                    clr    = Color.GreenYellow;
                    strmsg = "发送:" + str + "\n";
                    break;

                case emMsgType.RECV_TEXT_1:        //接收的消息
                    clr    = Color.Cyan;
                    strmsg = "接收:" + str + "\n";
                    break;

                case emMsgType.RECV_TEXT_2:        //接收的消息
                    clr    = Color.Aqua;
                    strmsg = "接收:" + str + "\n";
                    break;

                case emMsgType.ERROR_TEXT:        //通信报错
                    clr    = Color.Tomato;
                    strmsg = "通信出错:" + str + "\n";
                    break;

                case emMsgType.EXCEPTION_TEXT:        //运行异常
                    clr    = Color.OliveDrab;
                    strmsg = "运行异常:" + str + "\n";
                    break;

                default:
                    clr    = Color.Snow;
                    strmsg = str + "\n";
                    break;
                }
                rtboxCMLog.AppendText(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.ff\n") + strmsg);
                CommonFunc.writeLog(strmsg);
                int nLength = rtboxCMLog.TextLength - 1;
                rtboxCMLog.Select(nSelectStart, nLength);
                rtboxCMLog.SelectionColor = clr;
                //rtboxCMLog.AppendText("\n");
                rtboxCMLog.ScrollToCaret();
                //}));
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.ToString());
                return;
            }
        }
예제 #2
0
        public void CommLogDisplay(string str, emMsgType nMsgType)
        {
            if (rtboxCMLog.InvokeRequired)
            {
                rtboxCMLog.BeginInvoke(new Action(() =>
                {
                    CommLogDisplay(str, nMsgType);
                }
                                                  ));
                return;
            }
            try
            {
                if (rtboxCMLog.Lines.Length > 200)
                {
                    rtboxCMLog.Text = "";
                }
                int   nSelectStart = rtboxCMLog.TextLength;
                Color clr          = Color.Lime;
                switch (nMsgType)
                {
                case emMsgType.SEND_TEXT_1:
                    clr = Color.Lime;
                    rtboxCMLog.AppendText(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.ff\n") +
                                          "发送:" + str + "\n");
                    break;

                case emMsgType.SEND_TEXT_2:
                    clr = Color.GreenYellow;
                    rtboxCMLog.AppendText(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.ff\n") +
                                          "发送:" + str + "\n");
                    break;

                case emMsgType.RECV_TEXT_1:    //接收的消息
                    clr = Color.Cyan;
                    rtboxCMLog.AppendText(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.ff\n") +
                                          "接收:" + str + "\n");
                    break;

                case emMsgType.RECV_TEXT_2:    //接收的消息
                    clr = Color.Aqua;
                    rtboxCMLog.AppendText(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.ff\n") +
                                          "接收:" + str + "\n");
                    break;

                case emMsgType.ERROR_TEXT:    //通信报错
                    clr = Color.Tomato;
                    rtboxCMLog.AppendText(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.ff\n") +
                                          "通信出错:" + str + "\n");
                    break;

                case emMsgType.EXCEPTION_TEXT:    //运行异常
                    clr = Color.OliveDrab;
                    rtboxCMLog.AppendText(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.ff\n") +
                                          "运行异常:" + str + "\n");
                    break;

                default:
                    clr = Color.Snow;
                    rtboxCMLog.AppendText(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.ff\n") +
                                          str + "\n");
                    break;
                }
                int nLength = rtboxCMLog.TextLength - 1;
                rtboxCMLog.Select(nSelectStart, nLength);
                rtboxCMLog.SelectionColor = clr;
                rtboxCMLog.AppendText("\n");
                //设置滚动条位置
                //rtboxCMLog.Select(nLength, 0);
                rtboxCMLog.ScrollToCaret();
            }
            catch (System.Exception ex)
            {
                AxPopMsg.Exception(ex.ToString());
                return;
            }
        }