71 lines
2.3 KiB
C#
71 lines
2.3 KiB
C#
using System;
|
|
using System.Drawing;
|
|
using System.Windows.Forms;
|
|
|
|
namespace WindowsFormsApp1
|
|
{
|
|
internal class WriteLog
|
|
{
|
|
public delegate void LogAppendDelegate(Color color, string text);
|
|
private readonly RichTextBox richTextBox1;
|
|
private readonly LogAppendDelegate logAppendDelegate;
|
|
|
|
/// <summary>
|
|
/// 构造函数传入RichTextBox控件的实例。
|
|
/// </summary>
|
|
/// <param name="richTextBox1"></param>
|
|
public WriteLog(RichTextBox richTextBox1)
|
|
{
|
|
this.richTextBox1 = richTextBox1;
|
|
this.logAppendDelegate = new LogAppendDelegate(LogAppend);
|
|
}
|
|
|
|
/// <summary>
|
|
/// LogAppendDelegate委托指向的方法
|
|
/// </summary>
|
|
/// <param name="color"></param>
|
|
/// <param name="text"></param>
|
|
private void LogAppend(Color color, string text)
|
|
{
|
|
richTextBox1.SelectionColor = color;
|
|
richTextBox1.AppendText(text + Environment.NewLine);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 追加显示文本
|
|
/// </summary>
|
|
/// <param name="text"></param>
|
|
public void LogAppendMsg(string text)
|
|
{
|
|
richTextBox1.Invoke(logAppendDelegate, Color.Black, DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss") + " " + text);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 显示错误日志
|
|
/// </summary>
|
|
/// <param name="text"></param>
|
|
public void LogError(string text)
|
|
{
|
|
richTextBox1.Invoke(logAppendDelegate, Color.Red, DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss") + " " + text);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 显示警告信息
|
|
/// </summary>
|
|
/// <param name="text"></param>
|
|
public void LogWarning(string text)
|
|
{
|
|
richTextBox1.Invoke(logAppendDelegate, Color.Violet, DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss") + " " + text);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 显示信息
|
|
/// </summary>
|
|
/// <param name="text"></param>
|
|
public void LogMessage(string text)
|
|
{
|
|
richTextBox1.Invoke(logAppendDelegate, Color.Black, DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss") + " " + text);
|
|
}
|
|
}
|
|
}
|