Coloriser des fragments de texte dans RichTextBox
L'amélioration de l'affichage du texte dans les contrôles RichTextBox nécessite souvent l'utilisation de différentes couleurs pour mettre en évidence des parties spécifiques. Considérez un scénario dans lequel vous disposez d’une chaîne construite dynamiquement qui contient un contenu différent. Dans ce cas, vous souhaiterez peut-être attribuer différentes couleurs à l'horodatage entre parenthèses, au nom d'utilisateur et au message lui-même.
Afin de réaliser cette coloration, vous pouvez implémenter une méthode d'extension pour surcharger la méthode AppendText de RichTextBox et ajouter un paramètre color :
<code class="language-C#">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>
En utilisant cette méthode d'extension, vous pouvez colorer des parties d'une chaîne comme indiqué ci-dessous :
<code class="language-C#">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>
Cette technologie offre un contrôle précis sur la coloration du contenu RichTextBox, améliorant ainsi son attrait visuel et sa lisibilité.
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!