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>
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>
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
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!