C# Winform使用擴(kuò)展方法實(shí)現(xiàn)自定義富文本框(RichTextBox)字體顏色
在利用C#開發(fā)Winform應(yīng)用程序的時(shí)候,我們有可能使用RichTextBox來實(shí)現(xiàn)實(shí)時(shí)顯示應(yīng)用程序日志的功能,日志又分為:一般消息,警告提示和錯(cuò)誤等類別。為了更好地區(qū)分不同類型的日志,我們需要使用不同的顏色來輸出對(duì)應(yīng)的日志,比如:一般消息為綠色,警告提示的用橙色,錯(cuò)誤的用紅色字體。
在原生Winform的RichTextBox中,是沒有這種設(shè)置選項(xiàng)的。如需實(shí)現(xiàn)以上描述的功能,我們可以使用.NET的靜態(tài)擴(kuò)展方法來處理。實(shí)現(xiàn)擴(kuò)展方法的類和方法本身都必須是靜態(tài)的,如果你對(duì)擴(kuò)展方法還不是太了解,建議先查閱相關(guān)文檔資料。我這里就把實(shí)現(xiàn)改變RichTextBox字體顏色的擴(kuò)展方法貼出:
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; } } }
寫好擴(kuò)展方法后,使用就非常簡單了,如下:
rtxtLog.AppendTextColorful("Your message here",Color.Green);
好了,大功告成!試一下,正常的看到的RichTextBox輸出的文字是否是綠色的呢?
PS:如果是紅綠色盲就得另說了,哈哈~~~
希望本文所述對(duì)大家的WinForm程序設(shè)計(jì)有所幫助。
相關(guān)文章
C#計(jì)算字符串哈希值(MD5、SHA)的方法小結(jié)
這篇文章主要介紹了C#計(jì)算字符串哈希值(MD5、SHA)的方法,以實(shí)例形式較為詳細(xì)的分析總結(jié)了C#計(jì)算字符串哈希值的各種常用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08Unity 從UI中拖拽對(duì)象放置并拖動(dòng)效果 附demo
最近新接了個(gè)需求,要求模擬場景并生成3D對(duì)象,對(duì)象可以跟隨鼠標(biāo)移動(dòng)效果,今天小編把我實(shí)現(xiàn)的demo分享到腳本之家平臺(tái),對(duì)Unity UI拖拽相關(guān)知識(shí)感興趣的朋友跟隨小編一起學(xué)習(xí)吧2021-05-05使用C#語言實(shí)現(xiàn)的查詢條件界面展開和收起功能
這篇文章主要介紹了使用C#語言實(shí)現(xiàn)的查詢條件界面展開和收起功能的完美解決方案,需要的朋友可以參考下2016-11-11C#定時(shí)任務(wù)框架Quartz.NET介紹與用法
這篇文章介紹了C#定時(shí)任務(wù)框架Quartz.NET的用法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02C#使用DropDownList綁定添加新數(shù)據(jù)的方法匯總
這篇文章主要介紹了C#使用DropDownList綁定添加新數(shù)據(jù)的方法匯總的相關(guān)資料,需要的朋友可以參考下2016-03-03C#實(shí)現(xiàn)的pdf生成圖片文字水印類實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)的pdf生成圖片文字水印類,結(jié)合完整實(shí)例形式分析了C#針對(duì)pdf文件的創(chuàng)建、添加文字、水印等相關(guān)操作技巧,需要的朋友可以參考下2017-09-09