C# WinForm RichTextBox 如何自定义下划线样式颜色?

为什么要自定义?

「添雨跟打器」中的核心功能之一——「词库管理」。这是一个大类。包含有词库添加、删除、自动提示,智能学习,理论码长等功能。用户在跟打过程中,如何以方便,快捷的方式提示给用户?这是一个产品体验上的问题。

早在「老版添雨跟打器」之中,@hwj 帮忙制作了「提词器」。使用的技术很简单,就是在 RichTextBox 上显示 Label ,用来划出不同的线条,颜色。但是缺点很明显。

  1. 渲染效率问题
  2. 显示样式单一

这两个问题都很好解决。但是「效率」和显示的「感观」上的问题仍然有一种,无法让人忍受的问题。例如,在拖动滚动条时,整个显示错位。如果让它们随之滚动,则会存在效率上的问题。两者,似乎存在一种不可兼得的情况。

寻找

为了解决问题。利用搜索引擎,去寻找解决方案。MSDN 是首先的选择。正好,在其上便找到如下一篇 《how to change the underline style》 。里面含有大量的 VB 代码。

手动翻译成 C# 代码如下文。

继续阅读C# WinForm RichTextBox 如何自定义下划线样式颜色?