Maison > développement back-end > C++ > Comment puis-je colorer différentes parties du texte annexées à un Richtextbox en C #?

Comment puis-je colorer différentes parties du texte annexées à un Richtextbox en C #?

DDD
Libérer: 2025-01-25 17:01:11
original
959 Les gens l'ont consulté

How Can I Color Different Parts of Text Appended to a RichTextBox in C#?

Coloriser différentes parties de RichTextBox ajouter du texte en C#

Question :

Vous souhaitez colorer sélectivement certaines parties de la chaîne attachée à la RichTextBox. Plus précisément, vous souhaitez que le texte entre crochets, les informations utilisateur et le message lui-même soient dessinés dans des couleurs différentes.

Solution : Méthode d'extension avec paramètre de couleur

Pour atteindre vos objectifs, vous pouvez utiliser une méthode d'extension pour surcharger la méthode AppendText et introduire un paramètre de couleur. Voici le code :

<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

Utilisation :

Après avoir défini la méthode d'extension, elle est très simple à utiliser. Utilisez-le simplement comme indiqué dans le code suivant :

<code class="language-csharp">string userid = "USER0001";
string message = "访问被拒绝";
RichTextBox box = new RichTextBox
{
    Dock = DockStyle.Fill,
    Font = new Font("Courier New", 10)
};

box.AppendText("[" + DateTime.Now.ToShortTimeString() + "]", Color.Red);
box.AppendText(" ");
box.AppendText(userid, Color.Green);
box.AppendText(": ");
box.AppendText(message, Color.Blue);
box.AppendText(Environment.NewLine);

Form form = new Form { Controls = { box } };
form.ShowDialog();</code>
Copier après la connexion

Remarque :

Veuillez noter qu'une sortie de texte excessive peut provoquer le scintillement de la RichTextBox. Veuillez vous référer à l'article C# Corner mentionné dans la réponse pour connaître les solutions possibles.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal