Maison > développement back-end > C++ > Comment colorer différentes parties d'une chaîne dans un C # Richtextbox?

Comment colorer différentes parties d'une chaîne dans un C # Richtextbox?

Susan Sarandon
Libérer: 2025-01-25 17:21:11
original
253 Les gens l'ont consulté

Coloriser différentes parties de la chaîne RichTextBox en C#

Dans le domaine de la programmation C#, c'est une fonction très pratique pour améliorer l'effet de visualisation de RichTextBox en ajoutant du texte coloré. Disons que vous avez fabriqué une chaîne avec différentes parties, chaque partie doit avoir sa propre couleur unique. L'objectif est d'ajouter de manière transparente cette chaîne multicolore à votre RichTextBox et de peindre les éléments individuels avec la couleur spécifiée.

Pour y parvenir, une solution astucieuse a émergé : une méthode d'extension appelée AppendText, qui ajoute un paramètre de couleur. Cette méthode intègre élégamment le texte spécifié dans une RichTextBox, décorée avec la couleur sélectionnée.

<code class="language-csharp">public static class RichTextBoxExtensions
{
    public static void AppendText(this RichTextBox box, string text, Color color)
    {
        // 将光标定位到文本末尾
        box.SelectionStart = box.TextLength;

        // 确保当前没有选中任何文本
        box.SelectionLength = 0;

        // 设置文本颜色
        box.SelectionColor = color;

        // 追加文本
        box.AppendText(text);

        // 将文本颜色重置为默认值
        box.SelectionColor = box.ForeColor;
    }
}</code>
Copier après la connexion

Avec cette méthode d'extension, l'utiliser est aussi simple que de créer votre chef-d'œuvre :

<code class="language-csharp">var userid = "USER0001";
var message = "Access denied";
var box = new RichTextBox
{
    Dock = DockStyle.Fill,
    Font = new Font("Courier New", 10)
};

// 以红色追加时间
box.AppendText("[" + DateTime.Now.ToShortTimeString() + "]", Color.Red);

// 添加空格
box.AppendText(" ");

// 以绿色打印用户ID
box.AppendText(userid, Color.Green);

// 添加冒号
box.AppendText(": ");

// 以蓝色显示消息
box.AppendText(message, Color.Blue);

// 追加换行符
box.AppendText(Environment.NewLine);

// 创建窗体并显示RichTextBox
new Form { Controls = { box } }.ShowDialog();</code>
Copier après la connexion

Ce code montre clairement comment ajouter chaque partie d'une chaîne avec la couleur qui lui est attribuée, créant ainsi une RichTextBox visuellement attrayante et informative.

Il convient de noter que si vous rencontrez des problèmes de scintillement lors de la sortie de grandes quantités de messages, l'article C# Corner lié ci-dessous fournit des informations précieuses sur la façon d'atténuer ce comportement :

Réduire le scintillement de RichTextBox

How to Color Different Parts of a String in a C# RichTextBox?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal