翻译窗体用富文本框输出日志信息,不同颜色加以配合

进颂阅读量 17

先上图:
![这里写图片描述](https://img-blog.csdn.net/20180801191320382?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xlZnRmaXN0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

昨天说道,用委托将日志信息同时写到日志文件,输出到窗体的富文本框(《[委托委托,谁委托谁?](https://blog.csdn.net/leftfist/article/details/81290331)》)。但是,那个富文本框绿莹莹的,无论是正常提示还是错误提示,都一个颜色,不好区分。
![这里写图片描述](https://img-blog.csdn.net/20180801191630197?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xlZnRmaXN0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

一般做法,都应该是正确绿色,错误红色。咋整?

上代码:

prism language-bash 复制代码
_rtb.SelectionStart = _rtb.TextLength;
_rtb.SelectionLength = 0;
_rtb.SelectionColor = Color.Red;//红色
_rtb.AppendText(mess + "\r\n");
_rtb.SelectionColor = DefaultColor;

完整代码:

prism language-csharp 复制代码
public class ShowInfo
{
	Form form;
	RichTextBox _rtb;
	readonly int _rowsLimit;
	readonly Color DefaultColor = Color.Lime;//蓝绿色
	public ShowInfo(Form form,RichTextBox rtb,int rowsLimit = 20)
	{
		this.form = form;

		this._rtb = rtb;
		this._rtb.BackColor = SystemColors.ControlText;//背景色为黑色
		this._rtb.ForeColor = DefaultColor;//前景色即文字颜色为蓝绿色

		this._rowsLimit = rowsLimit;

		getTitle();
	}

	public void ShowText(string mess)
	{
		if (_rtb.InvokeRequired)
		{// 当一个控件的InvokeRequired属性值为真时,说明有一个创建它以外的线程想访问它
			Action<string> dlg = (x) => {
				showText((object)mess);
			};
			_rtb.Invoke(dlg, mess);
		}
		else
		{
			showText((object)mess);
		}
	}
	long _rows = 0;
	void showText(object objmess)
	{
		string mess = objmess.ToString();

		if (_rows < _rowsLimit)
		{
			_rows++;
		}
		else
		{
			_rows = 0;
			_rtb.Clear();
			_rtb.ClearUndo();
			_rtb.Text = "";
		}

		if (mess.IndexOf("错误") != -1)
		{
			_rtb.SelectionStart = _rtb.TextLength;
			_rtb.SelectionLength = 0;
			_rtb.SelectionColor = Color.Red;//红色
			_rtb.AppendText(mess + "\r\n");
			_rtb.SelectionColor = DefaultColor;
		}
		else
		{
			_rtb.AppendText(mess+ "\r\n");
		}
		//_rtb.SelectionStart = _rtb.Text.Length;
		//_rtb.ScrollToCaret();
	}
}
复制代码
    ===========================
    【来源: CSDN】
    【作者: 左直拳】
    【原文链接】 https://leftfist.blog.csdn.net/article/details/81346577
    声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。
0/300
全部评论0
0/300