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

实现效果

调用方法

 rtxtLog.AppendTextColorful(richTextBox1,DateTime.Now.ToString(), Color.Red);

完整代码如下

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace WindowsFormsApp1
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){}private void button1_Click(object sender, EventArgs e){rtxtLog.AppendTextColorful(richTextBox1,"abc123", Color.Green);}private void button2_Click(object sender, EventArgs e){rtxtLog.AppendTextColorful(richTextBox1,DateTime.Now.ToString(), Color.Red);}}/// <summary>/// https://www.cnblogs.com/bobositlife/p/csharp-winform-change-richtextbox-font-color-using-static-extension-method.html#:~:text=C%23Winform%E4%BD%BF%E7%94%A8%E6%89%A9%E5%B1%95%E6%96%B9%E6%B3%95%E8%87%AA%E5%AE%9A%E4%B9%89%E5%AF%8C%E6%96%87%E6%9C%AC%E6%A1%86%20%28RichTextBox%29%E5%AD%97%E4%BD%93%E9%A2%9C%E8%89%B2%20%E5%9C%A8%E5%8E%9F%E7%94%9FWinform%E7%9A%84RichTextBox%E4%B8%AD%EF%BC%8C%E6%98%AF%E6%B2%A1%E6%9C%89%E8%BF%99%E7%A7%8D%E8%AE%BE%E7%BD%AE%E9%80%89%E9%A1%B9%E7%9A%84%E3%80%82%20%E5%A6%82%E9%9C%80%E5%AE%9E%E7%8E%B0%E4%BB%A5%E4%B8%8A%E6%8F%8F%E8%BF%B0%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8.NET%E7%9A%84%E9%9D%99%E6%80%81%E6%89%A9%E5%B1%95%E6%96%B9%E6%B3%95%E6%9D%A5%E5%A4%84%E7%90%86%E3%80%82%20%E5%AE%9E%E7%8E%B0%E6%89%A9%E5%B1%95,%E6%96%B9%E6%B3%95%E7%9A%84%E7%B1%BB%E5%92%8C%E6%96%B9%E6%B3%95%E6%9C%AC%E8%BA%AB%E9%83%BD%E5%BF%85%E9%A1%BB%E6%98%AF%E9%9D%99%E6%80%81%E7%9A%84%EF%BC%8C%E5%A6%82%E6%9E%9C%E4%BD%A0%E5%AF%B9%E6%89%A9%E5%B1%95%E6%96%B9%E6%B3%95%E8%BF%98%E4%B8%8D%E6%98%AF%E5%A4%AA%E4%BA%86%E8%A7%A3%EF%BC%8C%E5%BB%BA%E8%AE%AE%E5%85%88%E6%9F%A5%E9%98%85%E7%9B%B8%E5%85%B3%E6%96%87%E6%A1%A3%E8%B5%84%E6%96%99%E3%80%82%20%E6%88%91%E8%BF%99%E9%87%8C%E5%B0%B1%E6%8A%8A%E5%AE%9E%E7%8E%B0%E6%94%B9%E5%8F%98RichTextBox%E5%AD%97%E4%BD%93%E9%A2%9C%E8%89%B2%E7%9A%84%E6%89%A9%E5%B1%95%E6%96%B9%E6%B3%95%E8%B4%B4%E5%87%BA%20%E5%9C%A8%E5%88%A9%E7%94%A8C%23%E5%BC%80%E5%8F%91Winform%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%E6%97%B6%E5%80%99%EF%BC%8C%E6%88%91%E4%BB%AC%E6%9C%89%E5%8F%AF%E8%83%BD%E4%BD%BF%E7%94%A8RichTextBox%E6%9D%A5%E5%AE%9E%E7%8E%B0%E5%AE%9E%E6%97%B6%E6%98%BE%E7%A4%BA%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%97%A5%E5%BF%97%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E6%97%A5%E5%BF%97%E5%8F%88%E5%88%86%E4%B8%BA%EF%BC%9A%E4%B8%80%E8%88%AC%E6%B6%88%E6%81%AF%EF%BC%8C%E8%AD%A6%E5%91%8A%E6%8F%90%E7%A4%BA%20%E5%92%8C%E9%94%99%E8%AF%AF%E7%AD%89%E7%B1%BB%E5%88%AB%E3%80%82%20%E4%B8%BA%E4%BA%86%E6%9B%B4%E5%A5%BD%E5%9C%B0%E5%8C%BA%E5%88%86%E4%B8%8D%E5%90%8C%E7%B1%BB%E5%9E%8B%E7%9A%84%E6%97%A5%E5%BF%97%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A2%9C%E8%89%B2%E6%9D%A5%E8%BE%93%E5%87%BA%E5%AF%B9%E5%BA%94%E7%9A%84%E6%97%A5%E5%BF%97%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%E4%B8%80%E8%88%AC%E6%B6%88%E6%81%AF%E4%B8%BA%E7%BB%BF%E8%89%B2%EF%BC%8C%E8%AD%A6%E5%91%8A%E6%8F%90%E7%A4%BA%E7%9A%84%E7%94%A8%E6%A9%99%E8%89%B2%EF%BC%8C%E9%94%99%E8%AF%AF%E7%9A%84%E7%94%A8%E7%BA%A2%E8%89%B2%E5%AD%97%E4%BD%93%E3%80%82/// </summary>public static class rtxtLog{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;}}
}

 参考链接在完整代码内

特此记录

anlog

2024年4月13日

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/812087.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【U8+】用友固定资产卡片拆分提示:未设置对象变量或With block变量。

【问题描述】 用友U8软件中&#xff0c; 操作固定资产模块&#xff0c;针对资产进行卡片拆分的时候&#xff0c; 提示&#xff1a;未设置对象变量或With block变量。 确定后仍然能打开卡片拆分界面&#xff0c;但是界面显示异常看不到拆分明细信息&#xff0c;并且保存后拆分结…

【Qt-Qt Creator使用技巧】

工具-Qt Creator ■ 使用技巧■ 定义触发片段■ Qt Creator 行编辑■ 代码注释■ 代码补全■ 快速给函数添加定义■ 创建书签■ 同步列输入■ 局部替换■ 源代码阅读■ 源码调试■ 使用技巧 ■ 定义触发片段 ■ Qt Creator 行编辑 shift + alt + up / down来获得多个游标。 …

导入芯片原厂SDK Mirror源码到gerrit

下载镜像代码 repo init --mirror --repo-url ssh://xx/repo.git -u ssh://xx/manifests.git -m manifest.xml repo sync 创建AOSP project 对All Project权限修改 创建repo 在刚才下载的codebase根目录执行如下命令&#xff1a; repo forall -c echo $REPO_PROJECT; ssh -p 29…

DOTS Instancing合批:如何针对单个渲染实体修改材质参数

最近在做DOTS的教程,由于DOTS(版本1.0.16)目前不支持角色的骨骼动画&#xff0c;我们是将角色的所有动画数据Baker到一个纹理里面&#xff0c;通过修改材质中的参数AnimBegin,AnimEnd来决定动画播放的起点和终点&#xff0c;材质参数AnimTime记录当前过去的动画时间。但是在做大…

CSS导读 (元素显示模式 下)

&#xff08;大家好&#xff0c;今天我们将继续来学习CSS的相关知识&#xff0c;大家可以在评论区进行互动答疑哦~加油&#xff01;&#x1f495;&#xff09; 目录 3.6 元素显示模式转换 3.7 (一个小技巧)单行文字垂直居中的代码 3.8 单行文字垂直居中的原理 3.9 小案例…

leaflet知识点:地图窗格panes的应用

一&#xff0c;需求背景 地图中存在无人机&#xff0c;停机坪&#xff0c;航线三个图层&#xff0c;需要实现无人机图层显示在最上面&#xff0c;停机坪图层显示在最下面&#xff0c;航线图层显示在中间。 二&#xff0c;遇到问题 由下图可知航线图层所在overlayPane窗格的z-…

工控 modbusTCP 报文

Tx 发送报文:00 C9 00 00 00 06 01 03 00 00 00 02 Rx 接收报文:00 C9 00 00 00 07 01 03 04 01 4D 00 01 Tx 发送报文:00 C9 00 00 00 06 01 03 00 00 00 02 00 C9 事务处理标识符 2字节 00 00 协议标识符 2字节 固定 00 00 00 06 长度 2字节 表示之后的字节总数 &#xff08;…

大数据之ClickHouse

大数据之ClickHouse 简介 ClickHouse是一种列式数据库管理系统&#xff0c;专门用于高性能数据分析和数据仓库应用。它是一个开源的数据库系统&#xff0c;最初由俄罗斯搜索引擎公司Yandex开发&#xff0c;用于满足大规模数据分析和报告的需求。 特点 开源的列式存储数据库…

elementUI 下拉框加提示文案

效果如下&#xff1a; 展示文案在最下面&#xff0c;跟选项有个分割线 <el-select v-model"value" placeholder"请选择" clearable popper-class"addNotice" class"addNoticeS" visible-change"(v) >selectNotice(v,展示…

Testng测试框架(7)--测试运行

忽略测试 TestNG可以让你忽略类、特殊包、包及其子中的所有Test方法。 当在测试方法级别使用Ignore 注解&#xff0c;在功能上与Test(enabledfalse).一样。 以下例子将忽略类中所有tests。 import org.testng.annotations.Ignore; import org.testng.annotations.Test; Ign…

秦朗丢寒假作业系摆拍 博主被处罚

大家好&#xff01; 我是老洪&#xff0c;刚看到秦朗丢寒假作业系摆拍博主被处罚。 据央视财经媒体报道&#xff0c;近期&#xff0c;“秦朗丢寒假作业”事件被证实为自导自编的摆拍视频。 图片来源央视财经公众号截图 该博主与同事薛某&#xff0c;为了吸引更多的粉丝和流量&a…

基于SSM的旅游管理系统论文

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对旅游信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差&am…

解决cmd输入py文件路径不能执行,使用anaconda prompt 能执行

究其原因&#xff0c;是因为没有配置环境&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 第一步&#xff1a;配置环境变量 操作步骤如下&#xff1a; 1、右击此电脑 ---->属性 2、高级系统设置 3、点击环境变量 4、选择 …

代码随想录--数组--长度最小的子数组

题目 给定一个含有 n 个正整数的数组和一个正整数 s &#xff0c;找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组&#xff0c;并返回其长度。如果不存在符合条件的子数组&#xff0c;返回 0。 示例&#xff1a; 输入&#xff1a;s 7, nums [2,3,1,2,4,3] 输出&#…

[BT]BUUCTF刷题第16天(4.12)

第16天 Web [MRCTF2020]Ezpop 打开网站就是一段泄露的源代码&#xff1a; <?php //flag is in flag.php //WTF IS THIS? //Learn From https://ctf.ieki.xyz/library/php.html#%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E9%AD%94%E6%9C%AF%E6%96%B9%E6%B3%95 //And Crack…

文件名乱码危机:数据恢复全攻略

在数字化时代的浪潮中&#xff0c;电脑文件成为我们日常生活和工作中不可或缺的一部分。然而&#xff0c;有时我们会突然遭遇一个令人头疼的问题&#xff1a;原本清晰易读的文件名突然变成了乱码。这些乱码文件名不仅让我们无法准确识别文件内容&#xff0c;更可能意味着数据丢…

时间序列分析 # 平稳性检验和ARMA模型的识别与定阶 #R语言

掌握单位根检验的原理并能解读结果&#xff1b;掌握利用序列的自相关图和偏自相关图识别模型并进行初步定阶。 原始数据在文末&#xff01;&#xff01;&#xff01; 练习1、根据某1971年9月-1993年6月澳大利亚季度常住人口变动&#xff08;单位&#xff1a;千人&#xff09;的…

一个开源跨平台嵌入式USB设备协议:TinyUSB

概述 TinyUSB 是一个用于嵌入式系统的开源跨平台 USB 主机/设备堆栈&#xff0c;设计为内存安全&#xff0c;无需动态分配&#xff0c;线程安全&#xff0c;所有中断事件都被推迟&#xff0c;然后在非 ISR 任务函数中处理。查看在线文档以获取更多详细信息。 源码链接&#xff…

Redis从入门到精通(十五)Redis分布式缓存(三)Redis分片集群的搭建和原理分析

文章目录 前言5.4 分片集群5.4.1 搭建分片集群5.4.2 散列插槽5.4.3 集群伸缩5.4.3.1 需求分析5.4.3.2 创建新的Redis实例5.4.3.3 添加新节点到Redis集群5.4.3.4 转移插槽 5.4.4 故障转移5.4.4.1 自动故障转移5.4.4.2 手动故障转移 5.4.5 RedisTemplate 5.5 小结 前言 Redis分布…

kali工具----枚举工具

一、枚举工具 枚举是一类程序&#xff0c;它允许用户从一个网络中收集某一类的所有相关信息。本节将介绍DNS枚举和SNMP枚举技术。DNS枚举可以收集本地所有DNS服务和相关条目。DNS枚举可以帮助用户收集目标组织的关键信息&#xff0c;如用户名、计算机名和IP地址等&#xff0c;…