专栏首页跟着阿笨一起玩NET用于RichTextBox控件记录日志信息

用于RichTextBox控件记录日志信息

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PageValidate 类

    转载:http://www.cnblogs.com/sufei/archive/2010/01/14/1648028.html

    跟着阿笨一起玩NET
  • DataTable.Select 返回DataTable

    在实际编程工程中,常常遇到这样的情况:DataTable并不是数据库中的,或者DataTable尚未写到数据库,或者从数据库中读出的DataTable已经在本地...

    跟着阿笨一起玩NET
  • [C#] 常用工具类——加密解密类

    跟着阿笨一起玩NET
  • 我在工作中使用的自己实现的超简易ORM工具

    我在7月份到了家新公司,要维护一个在原来.net1.1上的系统。我进去一看代码就傻了眼了,满屏的SQL语句,看得脑袋嗡嗡的.但是苦于.net1.1,又不敢大动直...

    用户1687945
  • 委托示例(利用委托对不同类型的对象数组排序)

    using System; using System.Collections.Generic; using System.Text; namespac...

    菩提树下的杨过
  • 免费开源的DotNet任务调度组件Quartz.NET(.NET组件介绍之五)

        很多的软件项目中都会使用到定时任务、定时轮询数据库同步,定时邮件通知等功能。.NET Framework具有“内置”定时器功能,通过System.Tim...

    彭泽0902
  • PowerShell 批量签入SharePoint Document Library中的文件

    由于某个文档库设置了编辑前签出功能,导致批量导入文件时这些文件默认的状态都被签出了。如果手动签入则费时费力,故利用PowerShell来实现批量签入Docume...

    用户1161731
  • 话说区块链,它真的不是比特币

    好像是去年吧,2017年,随着比特币的大火,各种数字货币出现了,显卡价格飙升了,区块链技术传的神乎其神了。看到网上凡是和区块链沾边的股价,都跟吃了火药一样往上冲...

    生活创客
  • PI 圆周率

    3.141592653589793238462643383279502884197169399375105820974944592307816406286208...

    readme
  • Asp.Net统一前后端提示信息方案

    要解决的问题 减少弹框前后端代码量 增强可维护性 前后端提示资源统一 可以实现简单的多语言提示方案 增强重用性和易用性       ... ...

    Porschev

扫码关注云+社区

领取腾讯云代金券