C# RichTextBox跳转到指定行(文本行跳转和显示行跳转)
文本行跳转:

对禁止自动换行(WordWrap属性为False)有效
1 /// <summary>跳到指定行</summary>
2 private void JumpToLine(int lineIndex)
3 {
4 rtxContext.SelectionStart = rtxContext.GetFirstCharIndexFromLine(lineIndex);
5 rtxContext.SelectionLength = 0;
6 rtxContext.Focus();
7 rtxContext.ScrollToCaret();
8 }
显示行跳转:

对自动换行(WordWrap属性为True)有效(由于是用Find(),对于内容存在多行文本相同并且靠的很近的情况,依然会出现跳转错误!)
1 /// <summary>跳到指定行</summary>
2 private void JumpToLine(int lineIndex)
3 {
4 var charindex= rtxContext.GetFirstCharIndexFromLine(lineIndex);//不需要也可以,那么对应的Find()参数为0,我处理的是比较大的文章,so...
5 var strline = rtxContext.Lines[lineIndex];
6 var viewindex = rtxContext.Find(strline, charindex, RichTextBoxFinds.None);
7 rtxContext.SelectionStart = viewindex;
8 rtxContext.SelectionLength = 0;
9 rtxContext.Focus();
10 rtxContext.ScrollToCaret();
11 }
C# RichTextBox跳转到指定行(文本行跳转和显示行跳转)的更多相关文章
- PyCharm 教程(四)显示行号
PyCharm 教程(四)显示行号 在PyCharm 里,显示行号有两种办法: 1,临时设置.右键单击行号处,选择 Show Line Numbers. 但是这种方法,只对一个文件有效,并且,重启Py ...
- 【转】设置 vim 显示行号永久有效
在linux环境下,vim是常用的代码查看和编辑工具.在程序编译出错时,一般会提示出错的行号,但是用vim打开的代码确不显示行号,错误语句的定位非常不便.那么怎样才能让vim显示代码的行号呢? 1 临 ...
- linux 基本配置tab键和显示行号 和中文输入法
一.仅设置当前用户的Tab键宽度 输入命令:vim ~/.vimrc 然后:set tabstop=4 //我这里将Tab键的宽度设置为4 保存:ctrl+z+z(或:wq!) OK! 二.设置所 ...
- centos7 vim显示行号
CentOS7下可能有n个账户,让vim显示行号有两种方法:仅让当前用户显示行号和让所有用户显示行号 一.仅让当前用户显示行号 输入命令:vim ~/.vimrc 写入:set nu 保存:wq ...
- [工具][vim] vim设置显示行号
转载自:electrocrazy的博客 在linux环境下,vim是常用的代码查看和编辑工具.在程序编译出错时,一般会提示出错的行号,但是用vim打开的代码确不显示行号,错误语句的定位非常不便.那么怎 ...
- vim 永久显示行号 & 临时显示行号
在linux环境下,vim是常用的代码查看和编辑工具.在程序编译出错时,一般会提示出错的行号,但是用vim打开的代码确不显示行号,错误语句的定位非常不便.那么怎样才能让vim显示代码的行号呢? 1 临 ...
- C#RichTextBox种跳转到指定行
用这个方法,iCodeRowsID是要跳转的行号,rtb是RiCHTextBox控件名. 其中rtb.Lines.Length可获得最大行数 private void TrunRowsId(int i ...
- vi 之行号操作---显示行号、跳到指定行
1.设置行号显示 esc ->:->set nu 2.跳到指定行 esc-> 123gg 3. 进入命令模式 ?一:在冒号下输入 vim vi 在命令模式中 使用 d(版本不同 使用 ...
- 在Linux中使用vi打开文件时如何显示行号,及跳转到指定行
vi 文件名,打开文件后 如果要显示所有行号,使用 :set nu 如果要显示当前行号,使用 :nu 如果要跳转到指定行,使用 :行号 例如,跳转到第10行,使用 :10
- 【技巧汇总】eclipse中如何跳转到指定行
技巧汇总 持续更新ing eclipse中如何跳转到指定行 ctrl+L
随机推荐
- 网络编程前戏和OSI七层协议
目录 一.软件开发架构 1.什么是软件开发架构 2.软件开发架构 架构方式一:c/s架构 架构方式二:b/s架构 架构优劣势 二.架构总结 三.网络编程前戏 1.什么是网络编程 2.学习网络编程的目的 ...
- 编程哲学之 C# 篇:005——"Hello,World!"
如第一章说明,程序员的创造能力最接近于神,那么从现在开始,让我们来开始愉快地创造世界吧! 用解决方案来管理我们的创作 运行我们安装好的Visual Studio(以后一般情况下都会简称为VS),如下图 ...
- 数据采集之刷cnblog评论
python代码如下: import random import time import requests cookies = { '__gads': 'ID=3c504aa17c4a7048:T=1 ...
- 【一句话】Thread.sleep(0)的作用
首先一句话: 在循环中加入Thread.sleep(0),用于在循环中放入safepoint,JVM进行STW,然后触发GC. 详细: 说白了,它的作用就是给可数(int控制)循环加入safepoin ...
- JAVA虚拟机25---编译器,解释器,JAVA中的即时编译
https://www.cnblogs.com/somefuture/p/14272221.html 1.简介 编译器:是一种计算机程序,负责把一种编程语言编写的源码转换成另外一种计算机代码,后者往往 ...
- 宇宙最强开发工具VScode简易手册
VS Code 的全称是 Visual Studio Code,是一款开源的.免费的.跨平台的.高性能的.轻量级的代码编辑器.它在性能.语言支持.开源社区方面,都做得很不错,是这两年非常热门的一款开发 ...
- Jetson Nano更改软件源
Jetson Nano 采用的是 aarch64 架构的Ubuntu 18.04.2 LTS 系统 sudo vim /etc/apt/sources.list deb http://mirrors. ...
- js实现替换对象(json)格式的键名
某些场景下,我们拿到的键名与预期的键名不符,这个时候就需要替换键名来得到我们想要的内容 let obj = [ { id:1, title:'zs' }, { id:2, title:'ls' } ] ...
- LOJ 数列分块入门 6
\(\text{Solution}\) 涉及到插入,分块需要动态维护块内的元素及相对位置 于是妙用 \(\text{vector}\) 学到了 \(insert\) 操作,在某个迭代器前插入元素 这样 ...
- OpenMediaVault5.6(OMV) 安装omv-extras - 2022.1.12
openmediavault 5.6 安装 omv-extras 转载: csdn:https://blog.csdn.net/Yu1441/article/details/116140034 先ss ...