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; } }
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; } }