private void ResetText(string text) { if (this.consoleOutputTextBox.InvokeRequired) { ResetTextCallback r = new ResetTextCallback(ResetText); this.Invoke(r, new object[] { text }); } else { this.consoleOutputTextBox.ResetText(); consoleOutputTextBox.AppendText("\r\n" + text); } }
private void ResetText(List <LogTextManager.LogItem> items) { if (this.listView1.InvokeRequired)//如果调用控件的线程和创建创建控件的线程不是同一个则为True { ResetTextCallback d = new ResetTextCallback(ResetText); this.listView1.Invoke(d, new object[] { items }); } else { listView1.Items.Clear(); foreach (var logItem in items) { ListViewItem lvi = new ListViewItem(); lvi.Text = logItem.Text; lvi.Tag = logItem.Id; switch (logItem.Type) { case LogShowMode.DEBUG: lvi.ForeColor = Color.White; lvi.BackColor = Color.Black; break; case LogShowMode.NOTIC: lvi.ForeColor = Color.White; lvi.BackColor = Color.Green; break; case LogShowMode.WARN: lvi.ForeColor = Color.Orange; lvi.BackColor = Color.Black; break; case LogShowMode.ERROR: lvi.ForeColor = Color.Red; lvi.BackColor = Color.White; break; case LogShowMode.FATAL: lvi.ForeColor = Color.White; lvi.BackColor = Color.Red; break; } this.listView1.Items.Add(lvi); } if (listView1.Items.Count > 0) { this.listView1.EnsureVisible(this.listView1.Items.Count - 1); this.listView1.Items[this.listView1.Items.Count - 1].Checked = true; } } }