public void AddInfo(string info, DateTime time, ETextMsgState state = ETextMsgState.ENormal, bool bNotity = true) { m_mutexListInfo.WaitOne(); m_listTextInfo.Add(new CTextInfo() { Time = time, Info = info }); m_mutexListInfo.ReleaseMutex(); if (m_listTextInfo.Count > m_iMaxListCount) { Task task = new Task(() => { WriteInfoToFile(); }); task.Start(); } else { // 开启定时器 m_timer.Start(); } if (bNotity) { if (null != RecvedNewSystemInfo) { // 通知其它订阅者 Task.Factory.StartNew(() => { RecvedNewSystemInfo.Invoke(this, new CEventSingleArgs <CTextInfo>(new CTextInfo() { Time = time, Info = info, EState = state })); }); } } }
// 添加显示内容 public void AddText(string str, ETextMsgState state) { try { //if (!this.IsHandleCreated) //{ // return; //} ListViewItem item = new ListViewItem() { Text = str }; Color forcolor = Color.Black; switch (state) { case ETextMsgState.ENormal: { item.ImageIndex = 0; } break; case ETextMsgState.EWarning: { item.ForeColor = Color.Yellow; item.ImageIndex = 1; } break; case ETextMsgState.EError: { item.ForeColor = Color.Red; item.ImageIndex = 1; } break; } m_listView.AddItem(item); } catch (System.Exception exp) { System.Diagnostics.Debug.WriteLine(exp.Message); } }