winform的RichTextBox使用
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使用相关推荐
- C# Winform中RichTextBox如何设置文本某段字体的颜色
C# Winform 中 RichTextBox如何设置文本某段字体颜色 一.在使用处新增代码 想要更改Text文本中某段需要特殊标注字体的颜色,使用TextBox是很难做到的,因为TextBox支持 ...
- winForm中RichTextBox富文本框的使用
创建一个RichTextBox控件 属性 a. 行为-EnableAutoDragDrop:True 允许拖拽 打开文件 先添加一个button按钮,注册单击事件表示打开某个文件 private vo ...
- Winform,RichTextBox,Json文本对比工具
在工作中,有的时候需要做一些Json对比的需求,通过肉眼去找到不一样的地方 当然,现在有很多可以做对比的小工具,比如Beyond Compare 但是这个有个弊端,如果对比的时候是个Json字符串,没 ...
- winform的RichTextBox设置行距
我们设置的行距大多是以像素为单位的,但是,dyLineSpacing是以 缇 为单位的,它们的关系是:1像素=15缇 还有bLineSpacingRule ,表示行间距的类型 其中: 3:dyline ...
- RichTextBox超链接解析
最近都在做一个能在Winform的RichTextBox中添加像网页中的超链接,点击后自动解析选项关键词弹出列表框,显示候选词,实现快速录入的功能.如下图所示 richTextBox插入链接的方法 / ...
- 在.NET程序中使用PIPE(管道技术)
在.NET程序中使用PIPE(管道技术) 这几天不知道做什么, 受朋友影响, 看完了"新天龙八部", 深受感动, 所以打算做点好事. =) 关于PIPE的应用, 其实原理很简单, ...
- 浅学C#(16)——Winform程序设计之Button、TextBox、RadioButton、CheckBox、GroupBox、RichTextBox
WinForm程序设计 窗体 单文档界面 写字板应用程序 多文档界面 Word.Excel 资源管理器样式界面 Windows资源管理器 Button 常用属性 Text 按钮上显示的文本包含在Tex ...
- Winform中使用用户控件实现带行数和标尺的RichTextBox(附代码下载)
场景 RichTextBox控件允许用户输入和编辑文本的同时提供了比普通的TextBox控件更高级的格式特征. 效果 注: 博客主页: https://blog.csdn.net/badao_lium ...
- winform简单的向richTextBox插入表格
/// <summary>/// 插入表格/// </summary>/// <param name="col">行</param> ...
最新文章
- 关于SQL Server下无限多级别分类查询解决办法
- python 读取txt
- 一套实用的数据中心设计方案
- centos mysql rpm re_centos7和centos6.5环境rpm方式安装mysql5.7和mysql5.6详解
- Flutter进阶—路由和导航
- mysql取出qq表情_mysql存储emoji表情报错处理,qq互联mysql存储昵称中带表情的数据时报错。...
- 新浪微博说说html,说说新浪微博
- PHP之封装梦网云通讯短信发送类
- 怎么把pdf拆分成一页一页的?
- 大疆飞行模拟(DJI Flight Simulator)软件的使用
- sublime快捷键(mac版)一览
- psv无线怎么连接电脑连接服务器,如何使用PSV远程操作电脑 PSVITA REMOTE DESKTOP详细教程...
- js中的数组拷贝(浅拷贝,深拷贝)
- 科学设置百度网盟到访定向,提升竞价转化率!
- 老罗锤子手机(Smartisan T1)的一些感想
- chrome浏览器安装插件方法
- 硬件混合渲染器 (HWC)
- 第三章,矩阵,04-分块矩阵
- laravel sail的坑
- matlab实现大气湍流退化模型算法,大气湍流下退化序列图像的目标检测方法