在利用C#开发Winform应用程序的时候,我们有可能使用RichTextBox来实现实时显示应用程序日志的功能,日志又分为:一般消息,警告提示和错误等类别。为了更好地区分不同类型的日志,我们需要使用不同的颜色来输出对应的日志,比如:一般消息为绿色,警告提示的用橙色,错误的用红色字体。
在原生Winform的RichTextBox中,是没有这种设置选项的。如需实现以上描述的功能,我们可以使用.NET的静态扩展方法来处理。实现扩展方法的类和方法本身都必须是静态的,如果你对扩展方法还不是太了解,建议先查阅相关文档资料。我这里就把实现改变RichTextBox字体颜色的扩展方法贴出:
using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace DocDetector.Core.Extensions { public static class RichTextBoxExtension { 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; } } }
写好扩展方法后,使用就非常简单了,如下:
rtxtLog.AppendTextColorful("Your message here",Color.Green);
好了,大功告成!试一下,正常的看到的RichTextBox输出的文字是否是绿色的呢?
PS:如果是红绿色盲就得另说了,哈哈~~~
希望本文所述对大家的WinForm程序设计有所帮助。
本文向大家介绍Android APP使用自定义字体实现方法,包括了Android APP使用自定义字体实现方法的使用技巧和注意事项,需要的朋友参考一下 android系统内置字体 android 系统本身内置了一些字体,可以在程序中使用,并且支持在xml配置textView的时候进行修改字体的样式。支持字段为android:textStyle ,android:typeface, android:
本文向大家介绍Laravel框架中扩展函数、扩展自定义类的方法,包括了Laravel框架中扩展函数、扩展自定义类的方法的使用技巧和注意事项,需要的朋友参考一下 一、扩展自己的类 在app/ 下建立目录 libraries\class 然后myTest.php 类名格式 驼峰 myTest 在 app/start/global.php 用 make 载入 二、扩展自己的函数 在app/ 下建立目录
本文向大家介绍C#在RichTextBox中显示不同颜色文字的方法,包括了C#在RichTextBox中显示不同颜色文字的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#在RichTextBox中显示不同颜色文字的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。
本文向大家介绍C#实现winform自动关闭MessageBox对话框的方法,包括了C#实现winform自动关闭MessageBox对话框的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现winform自动关闭MessageBox对话框的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。
本文向大家介绍Android使用自定义字体的方法,包括了Android使用自定义字体的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android使用自定义字体的方法。分享给大家供大家参考,具体如下: 一、问题: 作为android初学者,在做一个游戏,游戏的标题我用的是TextView,android只提供斜体粗体,但把字体设置成楷体游戏的界面会更好,怎么才能实现。 二、解决方法:
问题内容: 在大多数情况下,方法的结果是一个数组,可以使用以下(工厂)代码通过某些方法(业务逻辑)轻松扩展该数组: 这非常适合与ng-repeat / ng-class一起使用,如下所示: 我的问题是, 每个列表响应都封装 在一个对象中,该对象除了实际列表之外,还具有一些元属性(排序信息等),因此返回的最终对象是这样的: 现在,如何使用ng-repeat / ng-class做与以前相同的事情?