/// <summary> /// 保存数据 /// </summary> /// <param name="wMessage"></param> /// <param name="wLog"></param> public void Log(string wMessage, ELog wLog, bool saveFlag = true) { if (this.InvokeRequired) //跨线程调用 { this.Invoke(new Action <string, ELog, bool> (Log), wMessage, wLog, saveFlag); } else { try { mHEvent.WaitOne(); //防止对同一文件写入数据 if (rtbLog.Lines.Length > maxLine) //清空数据 { rtbLog.Clear(); } if (wMessage == string.Empty) { return; } string insertNow = DateTime.Now.ToString("HH:mm:ss.") + DateTime.Now.Millisecond.ToString("D3") + " | "; if (saveFolder == string.Empty) { rtbLog.AppendText(insertNow); } int lines = rtbLog.Text.Length; int lens = wMessage.Length; rtbLog.AppendText(wMessage + "\r\n"); rtbLog.Select(lines, lens); rtbLog.SelectionColor = colorArray[(int)wLog]; rtbLog.ScrollToCaret(); rtbLog.Refresh(); string saveInfo = insertNow + "[" + wLog.ToString() + "]: " + wMessage; if (saveFlag && saveEnable) { SaveToTxt(saveInfo); } } catch (Exception) { } finally { mHEvent.Set(); } } }