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

news2024/11/23 12:14:53

实现效果

调用方法

 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.coloradmin.cn/o/1590242.html

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

相关文章

Java 基于微信小程序的汽车4S店客户管理小程序,附源码

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…

SpringCloud框架 服务拆分和远程调用

数据库隔离避免耦合度过高&#xff0c;不同模块将自己的业务暴露为接口&#xff0c;供其他微服务调用 微服务远程调用技术Rest 在后端实现发送http请求 1.在启动类/配置类里注册RestTemplate启动对象 2.注入Bean对象使用

【力扣】17.04.消失的数字

这道题的题目意思就是从0-n中的数字中找出缺失的那一个&#xff0c;n是数组的长度&#xff0c;因此我的想法就是先将数组进行排序&#xff0c;往sort&#xff08;&#xff09;里面一扔&#xff0c;完了以后看前一个与后一个之差中哪个不是等于1的&#xff0c;就求出来即可。 法…

去除pycharm运行pytest的默认参数--no-header --no-summary -q

进入pycharm设置(Settings)&#xff0c;找到高级设置(Advanced Settings)—>Python–>Pytest&#xff1a;不添加"–no-header --no-summary -q"(Pytest&#xff1a;do not add “–no-header --no-summary -q”)

R语言计算:t分布及t检验

t分布理论基础 t分布也称Student’s t-distribution&#xff0c;主要出现在小样本统计推断中&#xff0c;特别是当样本量较小且总体标准差未知时&#xff0c;用于估计正态分布的均值。其定义基于正态分布和 X 2 X^{2} X2分布&#xff08;卡方分布&#xff09;。如果随机变量X服…

pytorch-多分类实战之手写数字识别

目录 1. 网络设计2. 代码实现2.1 网络代码2.2 train 3. 完整代码 1. 网络设计 输入是手写数字图片28x28&#xff0c;输出是10个分类0~9&#xff0c;有两个隐藏层&#xff0c;如下图所示&#xff1a; 2. 代码实现 2.1 网络代码 第一层将784降维到200&#xff0c;第二次使用…

Linux的学习之路:7、yum与git

摘要 本章主要是说一下yum和git的操作 目录 摘要 一、什么是yum 二、yum三板斧 1、list 2、install 3、remove 三、怎么创建仓库 四、git三板斧 1、add 2、commit 3、push 4、pull 五、思维导图 一、什么是yum YUM是Yellowdog Updater Modified的简称&#xf…

三方库移植之NAPI开发(三)通过IDE开发NAPI工程

在三方库移植之NAPI开发[1]—Hello OpenHarmony NAPI一文中&#xff0c;笔者开发的是一个rom包的napi工程。该工程需要编译烧录固件&#xff0c;C 的动态库会集成到开发板的ROM中。在本篇文章中&#xff0c;笔者使用三方库移植之NAPI开发[1]—Hello OpenHarmony NAPI中一样的he…

zabbix监控配置(添加主机、主机组和添加监控项等)

zabbix监控配置 文章目录 zabbix监控配置1.添加主机组2.添加主机&#xff08;linux&#xff09;3.添加主机&#xff08;windows&#xff09;4.监控项配置&#xff08;通过模板添加&#xff09;5.监控项配置&#xff08;手动添加&#xff09; 1.添加主机组 2.添加主机&#xff0…

【Github】PwGen用户友好的Web应用密码生成器

弱密码问题一直是网络安全领域的一个重大挑战。许多人为了方便记忆&#xff0c;倾向于使用简单、常见的密码&#xff0c;如“123456”、“password”或者他们的生日等&#xff0c;这些密码很容易被猜测或通过暴力破解方法攻破。弱密码的使用大大增加了账户被黑客入侵的风险&…

【深入解析spring cloud gateway】13 Reactive Feign的使用

问题引入 在gateway中如果使用feignClient的话&#xff0c;会报如下错误 java.lang.IllegalStateException: block()/blockFirst()/blockLast() are blocking, which is not supported in thread reactor-http-nio-3at reactor.core.publisher.BlockingSingleSubscriber.bloc…

C++实现一个自定义字符串类(string)

本博客将详细介绍如何在C中实现一个自定义的字符串类 string&#xff0c;这个类模仿了标准库中 std::string 的关键功能。这个过程将涵盖从声明到定义的每一步&#xff0c;重点介绍内存管理、操作符重载以及提供一些关键的实现细节。 首先&#xff1a;我们采用函数的声明与定义…

python--字符串对象和

1、找出10000以内能被5或6整除&#xff0c;但不能被两者同时整除的数&#xff08;函数&#xff09; def Divisible_by_5_6(x:int)->list:arr[]for i in range(1,x1):if (i % 5 0 or i % 6 0 ):if i % 5 0 and i % 6 0:continue #利用continue跳过能被5和6整除的数else:a…

Spring Boot 学习(4)——开发环境升级与项目 jdk 升级

各种版本都比较老&#xff0c;用起来也是常出各样的问题&#xff0c;终于找到一个看来不错的新教程&#xff0c;是原先那个教程的升级。遂决定升级一下开发环境&#xff0c;在升级遇到一些问题&#xff0c;摸索将其解决&#xff0c;得些体会记录备查。 最终确定开发环境约束如下…

ActiveMQ 01 消息中间件jmsMQ

消息中间件之ActiveMQ 01 什么是JMS MQ 全称&#xff1a;Java MessageService 中文&#xff1a;Java 消息服务。 JMS 是 Java 的一套 API 标准&#xff0c;最初的目的是为了使应用程序能够访问现有的 MOM 系 统&#xff08;MOM 是 MessageOriented Middleware 的英文缩写&am…

QLoRa 低秩分解+权重量化的微调

QLoRa的核心思想是首先使用低秩分解技术降低参数的数量&#xff0c;然后对这些低秩表示的参数应用量化技术&#xff0c;进一步减少所需的存储空间和计算量。 https://arxiv.org/abs/2305.14314 低秩分解 低秩分解&#xff08;Low-Rank Factorization&#xff09;&#xff1a;…

Elasticsearch初步了解学习记录

目录 前言 一、ElasticSearch是什么&#xff1f; 二、使用步骤&#xff08;python版&#xff09; 1.引入包 2.连接数据库 3.创建索引 4.写入数据 5.查询数据 三、相关工具介绍 1.ES浏览器插件 总结 前言 随着数据量的不断增加&#xff0c;传统的查询检索在速度上遇…

Android使用shape属性绘制边框内渐变色

目录 先上效果图实现方法shape属性介绍代码结果 先上效果图 这是使用AndroidStudio绘制的带有渐变色的边框背景色 实现方法 项目中由于UI设计需求&#xff0c;需要给按钮、控件设置带有背景色效果的。以下是UI效果图。 这里我们使用shape属性来绘制背景效果。 shape属性介…

机器学习-09-图像处理02-PIL+numpy+OpenCV实践

总结 本系列是机器学习课程的系列课程&#xff0c;主要介绍机器学习中图像处理技术。 参考 【人工智能】PythonOpenCV图像处理&#xff08;一篇全&#xff09; 一文讲解方向梯度直方图&#xff08;hog&#xff09; 【杂谈】计算机视觉在人脸图像领域的十几个大的应用方向&…

清远某国企IBM服务器Board故障上门维修

接到一台来自广东清远市清城区某水利大坝国企单位报修一台IBM System x3650 M4服务器无法开机的故障&#xff0c;分享给大家&#xff0c;同时也方便有需要的朋友能及时找到我们快速解决服务器问题。 故障服务器型号&#xff1a;IBM System x3650 M4 服务器使用单位&#xff1a;…