用于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);
        }

    }
}

时间: 2024-11-06 12:41:04

用于RichTextBox控件记录日志信息的相关文章

richTextBox 控件的System.StackOverflowException错误问题

问题描述 在一个多线程程序中调用richTextBox老是在运行一段时间后报错代码如下,richText在2000行左右的时候就报错未处理的"System.StackOverflowException"类型的异常出现在System.Windows.Forms.dll中.publicvoidLogAppendLine(System.Windows.Forms.RichTextBoxrichTextBoxRemote,Colorcolor,stringtext){if(richTextBo

C#向RichTextBox控件最下方写入数据

C#中经常用到RichTextBox控件,用于显示数据,那么如果在写入数据后,让RichTextBox始终得到焦点或让RichTextBox始终显示最下方的最新数据呢? 以前一般用到的方法是使用 Focus 先获取焦点,然后 Select 方法,滚动到最下方,这样效率不免低下,而且多写代码: richTextBox1.Focus() ; richTextBox1.Select(richTextBox1.Text.Length, 0); 参考这样的自动滚动到最下方的事件函数: private vo

C++获得其他程序窗体控件中信息的方法

  本文实例讲述了C++获得其他程序窗体控件中信息的方法.分享给大家供大家参考.具体分析如下: 这里演示了获得其他程序窗体控件信息的方法, 用FindWindow API找到文本框句柄,用SendMessage(WM_GETTEXT)获得文本 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #include <windows.h> BOOL CALLBACK EnumChildPro

使用 Visual C# .NET 打印 RichTextBox 控件的内容 的问题

问题描述 借此宝地问一下,我按照这个网页的方法打印RichTextBox控件的内容,可是进行到"9.将RichTextBoxPrintCtrl从工具箱拖入Form1."就不对了.还是没有这个控件.请问各位高手如何解决这个问题?http://support.microsoft.com/kb/812425 解决方案

vc++-VC++列表控件 显示信息、添加、修改、删除按钮

问题描述 VC++列表控件 显示信息.添加.修改.删除按钮 Vc++中,列表控件,用来显示歌曲基本信息:歌曲名.演唱者.作曲者.出版公司.有四个按钮:显示信息.添加.修改.删除. 怎么选中列表控件里的一行,然后将它删除 解决方案 列表控件关联控件变量m_ComboBox 对列表控件的LBN_SELCHANGE消息建立映射函数 void CTestDlgDlg::OnSelchangeCombo1() { int num=m_ComboBox.GetCurSel(); m_ComboBox.Del

数据绑定 richtextbox-C# Richtextbox控件数据绑定之后,无法正常输入

问题描述 C# Richtextbox控件数据绑定之后,无法正常输入 最近在做winform系统时候遇到一个问题,百思不得其解,希望高手可以帮忙解决一下. 如下所示,有一个richtextbox控件,name是rtbZLBB, 后台有一个类, 是ZLBB,现在将richtextbox绑定到ZLBB对象上,但是在输入内容到richtextbox控件的时候,发现无法正常的追加输入,每一次输入光标都是停留在最前面,请问高手这是为什么?进过分析,把Content属性换成private或protected

RichTextBox 控件的输入法问题

问题描述 我在c#2003winform中使用了richtext控件.在其keydown事件中有有个一句stringx=richtextbox.text;这个语句会导致:当我用紫光拼音在该richtextbox控件中输入汉字时正常,但当我用微软拼音输入法等其他输入法时,输入法丧失了连续用拼音选择多个汉字的能力,而是每次只能输入两个汉字,用户有意见,因为输入法的联想功能丧失了.有没有解决办法? 解决方案 解决方案二:光用这个就能导致?那这句话用来干嘛啊?可不可以在内容发生改变的事件里面用这句?解决

C++获得其他程序窗体控件中信息的方法_C 语言

本文实例讲述了C++获得其他程序窗体控件中信息的方法.分享给大家供大家参考.具体分析如下: 这里演示了获得其他程序窗体控件信息的方法, 用FindWindow API找到文本框句柄,用SendMessage(WM_GETTEXT)获得文本 #include <windows.h> BOOL CALLBACK EnumChildProc(HWND hWnd,LPARAM lParam); int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrev

vs2010 winform 程序开发 怎么在richtextbox控件中设置二级标题

问题描述 我的思路是这样的,做一个rtf格式的文件,在里面设置好正文,一级标题,二级标题,三级标题格式,然后在richTextbox控件中读取这个rtf格式的文件,我现在要往这个richtextbox控件中写入文本,怎样设置成设定好的一级标题或二级标题的格式 解决方案 解决方案二:百度rtf格式文件解决方案三:引用1楼sxldfang的回复: 百度rtf格式文件 搜不到,我现在要往这个richtextbox控件中写入文本,怎样设置成设定好的一级标题或二级标题的格式解决方案四:rtf里面弄好格式,