108 lines
3.5 KiB
C#
108 lines
3.5 KiB
C#
using System;
|
|
using System.Windows.Forms;
|
|
|
|
namespace AIProofread.Controls
|
|
{
|
|
public partial class FormLogger : Form
|
|
{
|
|
private ListView LogListView = new ListView();
|
|
|
|
public FormLogger()
|
|
{
|
|
InitializeComponent();
|
|
|
|
|
|
//LogListView.View = View.Details;
|
|
//LogListView.FullRowSelect = true;
|
|
//LogListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
|
|
|
|
}
|
|
|
|
private void InitLogListView()
|
|
{
|
|
var columnHeader1 = new ColumnHeader();
|
|
var columnHeader2 = new ColumnHeader();
|
|
var columnHeader3 = new ColumnHeader();
|
|
|
|
columnHeader1.Text = "Tag";
|
|
columnHeader1.Width = 67;
|
|
columnHeader2.Text = "Time";
|
|
columnHeader2.Width = 117;
|
|
columnHeader3.Text = "Message";
|
|
columnHeader3.Width = 480;
|
|
|
|
|
|
LogListView.Columns.AddRange(new ColumnHeader[] {columnHeader1,columnHeader2,columnHeader3});
|
|
}
|
|
|
|
/// <summary>
|
|
/// 显示最大日志数
|
|
/// </summary>
|
|
private const int MaxDisplayItemCount = 100;
|
|
|
|
public void Log(string time, string tag, string message)
|
|
{
|
|
ShowLogInText(time, tag, message);
|
|
}
|
|
|
|
private void ShowLogInText(string time, string tag, string message)
|
|
{
|
|
if (LogText.InvokeRequired)
|
|
{
|
|
//LogText.Invoke(new AppendLogDel(AppendLog), args);
|
|
}
|
|
else
|
|
{
|
|
LogText.AppendText(string.Format("{0} {1} {2}",time,tag,message));
|
|
LogText.AppendText(Environment.NewLine);
|
|
LogText.ScrollToCaret();
|
|
LogText.Update();
|
|
}
|
|
}
|
|
|
|
private void ShowLogInList(string time, string tag, string message)
|
|
{
|
|
if (LogListView.InvokeRequired)
|
|
{
|
|
LogListView.Invoke(new Action(() => AddLogToList(time, tag, message)));
|
|
}
|
|
else
|
|
{
|
|
AddLogToList(time, tag, message);
|
|
}
|
|
}
|
|
|
|
private void AddLogToList(string time, string tag, string message)
|
|
{
|
|
//
|
|
ListViewItem insertItem = new ListViewItem(new string[] { tag, time, message });
|
|
//
|
|
//insertItem.SubItems.Add(time);
|
|
//insertItem.SubItems.Add(tag, Color.Violet, Color.White, LogListView.Font);
|
|
//insertItem.SubItems.Add(message, Color.Blue, Color.White, LogListView.Font);
|
|
//ListViewSubItem tagItem = new ListViewSubItem(insertItem,tag);
|
|
//ListViewSubItem timeItem = new ListViewSubItem(insertItem,time, Color.Violet, Color.White, LogListView.Font);
|
|
//ListViewSubItem messageItem = new ListViewSubItem(insertItem, time, Color.Blue, Color.White, LogListView.Font);
|
|
|
|
//insertItem.SubItems.Add(tagItem);
|
|
if (LogListView.Items.Count > MaxDisplayItemCount)
|
|
{
|
|
LogListView.Items.RemoveAt(MaxDisplayItemCount);
|
|
}
|
|
//ListViewItem lstItem = new ListViewItem(" " + DateTime.Now.ToString(), imageIndex);
|
|
//lstItem.SubItems.Add(info);
|
|
LogListView.Items.Insert(0, insertItem);
|
|
}
|
|
|
|
private void FormLogger_FormClosed(object sender, FormClosedEventArgs e)
|
|
{
|
|
LogHelper.LoggerForm = null;
|
|
}
|
|
|
|
private void TsmiClear_Click(object sender, EventArgs e)
|
|
{
|
|
LogText.Text = string.Empty;
|
|
}
|
|
}
|
|
}
|