1、设置指定文字颜色、字体等格式
设置richTextBox前10位字符格式。(第0位开始,往后10个字符)

 //设置指定的选择内容richTextBox.Select(0, 10); //颜色richTextBox.SelectionColor = Color.FromArgb(64, 165, 252); /*或者richTextBox.SelectionColor = Color.Red; *///字体richTextBox.SelectionFont = new Font("微软雅黑", 15, FontStyle.Regular, GraphicsUnit.Pixel, 134);//其他更多格式,richTextBox.Selection...//取消选中的字符richTextBox.SelectionLength = 0;

或者,另一种选择内容方式

 //设置焦点所在文本的位置,选定文本的起始点richTextBox.SelectionStart = 0; //设置选定的字符数richTextBox.SelectionLength = 10;//颜色richTextBox.SelectionColor = Color.FromArgb(64, 165, 252); /*或者richTextBox.SelectionColor = Color.Red; *///字体richTextBox.SelectionFont = new Font("微软雅黑", 15, FontStyle.Regular, GraphicsUnit.Pixel, 134);//其他更多格式,richTextBox.Selection...

2、获取RichTextBox的所有行(Line)数据(不包括自动换行,比如自动换行为2行的算一行)

 string[] line = richTextBox.Lines;

3、获取指定字符位置在RichTextBox中的所在行(Line),及所在行在RichTextBox的首末位置

 //设置选定文本的起始点int index = richTextBox.SelectionStart;int[,] lineNum = GetRichTextLineIndex();int indexLine = GetCurrentEndLocation(index, lineNum);richTextBox.SelectionStart = lineNum[indexLine, 1];//整个文本框的line所有起始位置public int[,] GetRichTextLineIndex(){string[] line = richTextBox.Lines;int[,] lineNum = new int[line.Length, 2];for (int i = 0; i < line.Length; i++){lineNum[i, 0] = (i == 0) ? 0 : lineNum[i - 1, 1] + 1;lineNum[i, 1] = lineNum[i, 0] + line[i].Length;}return lineNum;}
//指定位置在文本框的哪个line末位
public int GetCurrentEndLocation(int index, int[,] lineNum)
{int result = -1;if (lineNum != null && lineNum.Length > 0){for (int i = 0; i < lineNum.Length; i++){if (index >= lineNum[i, 0] && index <= lineNum[i, 1])return i;}}return result;
}

4、获取当前焦点在RichTextBox的行(其中自动换行的另外算一行,比如自动换行2行,就是2行),及指定行row所在RichTextBox的位置

  //焦点所在的位置int cursorLocationFirst = richTextBox.GetFirstCharIndexOfCurrentLine();//焦点所在位置的行rowint indexRow = richTextBox.GetLineFromCharIndex(cursorLocationFirst);//整个RichTextBox的最后一行(包括自动换行)//整个行数 = lastRow + 1int lastRow = richTextBox.GetLineFromCharIndex(richTextBox.Text.Length); //指定行row在RichTextBox的位置int nextRowIndex = this.GetFirstCharIndexFromLine(indexRow + 1);

winform的RichTextBox使用相关推荐

  1. C# Winform中RichTextBox如何设置文本某段字体的颜色

    C# Winform 中 RichTextBox如何设置文本某段字体颜色 一.在使用处新增代码 想要更改Text文本中某段需要特殊标注字体的颜色,使用TextBox是很难做到的,因为TextBox支持 ...

  2. winForm中RichTextBox富文本框的使用

    创建一个RichTextBox控件 属性 a. 行为-EnableAutoDragDrop:True 允许拖拽 打开文件 先添加一个button按钮,注册单击事件表示打开某个文件 private vo ...

  3. Winform,RichTextBox,Json文本对比工具

    在工作中,有的时候需要做一些Json对比的需求,通过肉眼去找到不一样的地方 当然,现在有很多可以做对比的小工具,比如Beyond Compare 但是这个有个弊端,如果对比的时候是个Json字符串,没 ...

  4. winform的RichTextBox设置行距

    我们设置的行距大多是以像素为单位的,但是,dyLineSpacing是以 缇 为单位的,它们的关系是:1像素=15缇 还有bLineSpacingRule ,表示行间距的类型 其中: 3:dyline ...

  5. RichTextBox超链接解析

    最近都在做一个能在Winform的RichTextBox中添加像网页中的超链接,点击后自动解析选项关键词弹出列表框,显示候选词,实现快速录入的功能.如下图所示 richTextBox插入链接的方法 / ...

  6. 在.NET程序中使用PIPE(管道技术)

    在.NET程序中使用PIPE(管道技术) 这几天不知道做什么, 受朋友影响, 看完了"新天龙八部", 深受感动, 所以打算做点好事. =) 关于PIPE的应用, 其实原理很简单, ...

  7. 浅学C#(16)——Winform程序设计之Button、TextBox、RadioButton、CheckBox、GroupBox、RichTextBox

    WinForm程序设计 窗体 单文档界面 写字板应用程序 多文档界面 Word.Excel 资源管理器样式界面 Windows资源管理器 Button 常用属性 Text 按钮上显示的文本包含在Tex ...

  8. Winform中使用用户控件实现带行数和标尺的RichTextBox(附代码下载)

    场景 RichTextBox控件允许用户输入和编辑文本的同时提供了比普通的TextBox控件更高级的格式特征. 效果 注: 博客主页: https://blog.csdn.net/badao_lium ...

  9. winform简单的向richTextBox插入表格

    /// <summary>/// 插入表格/// </summary>/// <param name="col">行</param> ...

最新文章

  1. 关于SQL Server下无限多级别分类查询解决办法
  2. python 读取txt
  3. 一套实用的数据中心设计方案
  4. centos mysql rpm re_centos7和centos6.5环境rpm方式安装mysql5.7和mysql5.6详解
  5. Flutter进阶—路由和导航
  6. mysql取出qq表情_mysql存储emoji表情报错处理,qq互联mysql存储昵称中带表情的数据时报错。...
  7. 新浪微博说说html,说说新浪微博
  8. PHP之封装梦网云通讯短信发送类
  9. 怎么把pdf拆分成一页一页的?
  10. 大疆飞行模拟(DJI Flight Simulator)软件的使用
  11. sublime快捷键(mac版)一览
  12. psv无线怎么连接电脑连接服务器,如何使用PSV远程操作电脑 PSVITA REMOTE DESKTOP详细教程...
  13. js中的数组拷贝(浅拷贝,深拷贝)
  14. 科学设置百度网盟到访定向,提升竞价转化率!
  15. 老罗锤子手机(Smartisan T1)的一些感想
  16. chrome浏览器安装插件方法
  17. 硬件混合渲染器 (HWC)
  18. 第三章,矩阵,04-分块矩阵
  19. laravel sail的坑
  20. matlab实现大气湍流退化模型算法,大气湍流下退化序列图像的目标检测方法

热门文章

  1. CSS background属性详解
  2. Java基础:(2)变量及数据类型
  3. 淘宝拍立淘图片搜索API
  4. 直链下载助手,快速下载百度链接
  5. 详细说明Win10添加开机自动运行软件3种方法
  6. c++数学计算模拟器「实用」
  7. 黑马程序员-----JAVA面向对象(三)
  8. java 计算器算法_计算器算法
  9. pymysql:TypeError:百分d format:a number is required, not str||已解决
  10. 干货丨渗透测试常用方法总结,大神之笔!