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)字體顏色


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM