C#Winform使用扩展方法自定义富文本框(RichTextBox)字体颜色

在利用C#开发Winform应用程序的时候,我们有可能使用RichTextBox来实现实时显示应用程序日志的功能,日志又分为:一般消息,警告提示 和错误等类别。为了更好地区分不同类型的日志,我们需要使用不同的颜色来输出对应的日志,比如:一般消息为绿色,警告提示的用橙色,错误的用红色字体。 在原生Winform的RichTextBox中,是没有这种设置选项的。如需实现以上描述的功能,我们可以使用.NET的静态扩展方法来处理。实现扩展 方法的类和方法本身都必须是静态的,如果你对扩展方法还不是太了解,建议先查阅相关文档资料。我这里就把实现改变RichTextBox字体颜色的扩展方 法贴出:

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace DocDetector.Core.Extensions
{
  public static class RichTextBoxExtension
  {
    public static void AppendTextColorful(this RichTextBox rtBox, string text, Color color, bool addNewLine = true)
    {
      if (addNewLine)
      {
        text += Environment.NewLine;
      }
      rtBox.SelectionStart = rtBox.TextLength;
      rtBox.SelectionLength = 0;
      rtBox.SelectionColor = color;
      rtBox.AppendText(text);
      rtBox.SelectionColor = rtBox.ForeColor;
    }
  }
}

写好扩展方法后,使用就非常简单了,如下:

rtxtLog.AppendTextColorful("Your message here",Color.Green);

好了,大功告成!试一下,正常的看到的RichTextBox输出的文字是否是绿色的呢? PS:如果是红绿色盲就得另说了,哈哈~~~

本文同步发布于图享网:C#Winform使用扩展方法自定义富文本框(RichTextBox)字体颜色

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户2442861的专栏

IDEA Intellij小技巧和插件

使用IDEA Intellij已有两年,在此罗列一下在实践中觉得能有效提升开发效率的一些小技巧和插件。  1. 重设移动键 方向键和Home/End键离...

3891
来自专栏菩提树下的杨过

Flash/Flex学习笔记(4):如何打开网页及Get/Post数据

flash终究只是客户端技术,所以很多时候还是需要与服务端技术(比如asp,asp.net,jsp,php之类)进行数据交互的,下面的代码演示了如何在flash...

2267
来自专栏Golang语言社区

【Go 语言社区】Go语言条件变量的两个例子

在Go语言中 sync.Cond 代表条件变量,但它需要配置锁才能有用. var m Mutex c := NewCond(&m) 或 c := sync.N...

4047
来自专栏魏琼东

.NET快速开发实践之应用IExtenderProvider实现输入法自动切换

         我在前面的.NET快速开发实践中的IExtenderProvider扩展组件和.NET快速开发实践之应用IExtenderProvider实现...

2176
来自专栏我和未来有约会

建立可扩展的silverlight 应用框架 step-6

整理导航模块“LeftNav” 首先说一下我想要实现的效果。 我希望在左侧的导航点击了以后右侧的主体部分发声变化。 之前我在LeftNav模块用的控件是Togg...

21310
来自专栏salesforce零基础学习

salesforce lightning零基础学习(九) Aura Js 浅谈二: Event篇

上一篇介绍了Aura Framework中 Component类的部分方法,本篇将要介绍Event常用的方法。

901
来自专栏技术墨客

React学习(最终篇)—— 高阶应用:高阶组件(HOCs)

高阶组件(higher-order components:以下简称HOC或HOC组件)是一个React组件复用的高级技巧。HOCs本身并不是React的API接...

2524
来自专栏全栈

基于iView的列表组件封装

8462
来自专栏更流畅、简洁的软件开发方式

【自然框架】之 “表单控件”与“实体类”

      对于简单的添加、修改,也就是没有什么业务逻辑的那种,表单控件的工作步骤是这样的,以添加数据为例。这个不用写什么代码,点点鼠标就可以搞定了。 ?   ...

2567
来自专栏令仔很忙

机房收费系统——VB将MSHflexgrid控件中的数据导出为Excel

 在做机房收费系统的时候,许多窗体用到的一个功能,就是将从数据库中提取出来的数据导出到Excel中。

821

扫码关注云+社区

领取腾讯云代金券