1. 获得光标所在的行号
  2. 获得光标所在的列号
  3. 设置光标到指定行号
  4. 设置光标到指定列号

http://www.huifangseo.com/blog/6/7.html

获得光标所在的行号和列号

方法1

    int SelStart = richTextBox1.SelectionStart;
int Line = + richTextBox1.GetLineFromCharIndex(SelStart); //行值
int Column = + SelStart - (richTextBox1.GetFirstCharIndexFromLine(Line - ));//列值
Text = string.Format("行{0} 列{1}", Line, Column);

方法2

using System.Runtime.InteropServices;

private int EM_LINEINDEX = 0x00BB;
private int EM_LINEFROMCHAR = 0x00C9; [DllImport("user32.dll", EntryPoint = "SendMessage")]
public static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam); public Point GetCaretPosition(TextBoxBase editControl)
{
int charIndex = (int)SendMessage(editControl.Handle, EM_LINEINDEX, -, );//行值
int lineIndex = (int)SendMessage(editControl.Handle, EM_LINEFROMCHAR, charIndex, );//列值
return new Point(editControl.SelectionStart - charIndex, lineIndex);
}
private void button2_Click(object sender, EventArgs e)
{
Point pt = GetCaretPosition(richTextBox1);
Text = string.Format("行{0} 列{1}", pt.X + , pt.Y+);
}

http://bbs.csdn.net/topics/360049737

设置光标到指定行号

方法1 GetFirstCharIndexFromLine

//转到第三行
int Line = ;
richTextBox1.SelectionStart = richTextBox1.GetFirstCharIndexFromLine(Line - );
richTextBox1.SelectionLength = ;
richTextBox1.ScrollToCaret();
richTextBox1.Focus();

方法2 SendMessage

//转到第3行
int Line = ;
richTextBox1.SelectionStart = SendMessage(richTextBox1.Handle, EM_LINEINDEX, Line - , );
richTextBox1.SelectionLength = ;
richTextBox1.ScrollToCaret();
richTextBox1.Focus();

设置光标到指定列号

先转到指定行号,然后 加上当前光标的列号 richTextBox1.SelectionStart

private void jumpColumn(int Column)
{
int Line = Column; int charIndex = (int)SendMessage(richTextBox1.Handle, EM_LINEINDEX, Line - , );
int lineIndex = charIndex + (int)SendMessage(richTextBox1.Handle, EM_LINEFROMCHAR, charIndex, ); richTextBox1.SelectionStart = lineIndex;
}
private void button4_Click(object sender, EventArgs e)
{
//转到第5行 第5列
richTextBox1.Focus();
jumpColumn();
}

RichtextBox 行和列的更多相关文章

  1. 【jQuery 冻结任意行列】冻结任意行和列的jQuery插件

    实现原理: 创建多个div,div之间通过css实现层叠,每个div放置当前表格的克隆.例如:需要行冻结时,创建存放冻结行表格的div,通过设置z-index属性和position属性,让冻结行表格在 ...

  2. php实例源码之获取mysql表中所有行和列

    本文章向大家介绍php获取mysql表中所有行和列的源码,主要使用到mysql_num_rows和mysql_fetch_row等php的数据库操作函数,该实例有助于大家熟悉PHP mysql数据库编 ...

  3. POI教程之第二讲:创建一个时间格式的单元格,处理不同内容格式的单元格,遍历工作簿的行和列并获取单元格内容,文本提取

    第二讲 1.创建一个时间格式的单元格 Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿 Sheet sheet=wb.createSheet("第一个 ...

  4. Excel单元格所在的行和列变色

    网友问到如何通过移动光标选择单元格,所在的行和列变色.如每次输入价格的时候,想想在横竖方向上有颜色标识,这样方便对照输入价格 . 这里可以使用窗体的Worksheet_SelectionChange ...

  5. 【C#】Excel导出合并行和列并动态加载行与列

    简单的Excel导出比较好做,只要设置表头,循环在表格中赋值添加数据即可,但是如果表头是不固定的,并且个数是不确定的,这就需要根据查询出数据的特点来添加导出了. 导出效果图: 如上图所示,商品的个数是 ...

  6. C#中关于DataGridView行和列的背景色-前景色设置

    关于DataGridView行和列的背景色-前景色设置 1.设定DataGridView全部单元格的Style  DataGridView内所有单元格的Style变更,可以使用DataGridView ...

  7. python excel操作 练习-#操作单列 #操作A到C列 #操作1到3行 #指定一个范围遍历所有行和列 #获取所有行 #获取所有列

    ##操作单列#操作A到C列#操作1到3行#指定一个范围遍历所有行和列#获取所有行#获取所有列 #coding=utf-8 from openpyxl import Workbook wb=Workbo ...

  8. jquery获取td所在的行和列

    今天在做项目时.遇到一个须要获取第几行第几列的问题. 后来.网上找了找资料,整理了此文.(使用jquery的preAll()获取列) 代码例如以下: <!DOCTYPE html PUBLIC ...

  9. 对Excle的行和列进行检查 单元格类型转换代码 ;

    对Excle的行和列进行检查  转换代码 : ** * 导入信息 */ @Override public List<Object> add(HttpServletRequest reque ...

随机推荐

  1. 如何利用C生成.so供Mono调用

    Mono诞生的初衷是为了吸引更多的Windows .Net程序员来加入Linux平台的开发.但在Linux世界中C语言依然是 主流.很多时候一些关键应用(比如大型 笛卡儿 乘积运算.需要调用平台硬件功 ...

  2. 除了判断语句if switch 我们还可以怎么做?-b

    之前项目中有根据后台数据执行不同代码,根据不同的字符串返回不同UIViewController对象,最开始需要的vc 种类不多我用的是if else 做字符串比较再执行不同代码,但是如果需求的vc 有 ...

  3. Latex 常用知识点存档

    前言: 本篇仅作为自己的知识存档. $Latex$是什么,就不用介绍了,网上好多教程和知识点,当忘记的时候搜一下就可以了. 本科做美赛和毕设的时候用的$Latex$排版,最近开始在博客园写点东东,发现 ...

  4. 欧几里得旅行商问题 java与c++实现

    双调欧几里得旅行商问题是一个经典动态规划问题.<算法导论(第二版)>思考题15-1 旅行商问题描述:平面上n个点,确定一条连接各点的最短闭合旅程.这个解的一般形式为NP的(在多项式时间内可 ...

  5. [BZOJ 2738] 矩阵乘法 【分块】

    题目链接:BZOJ - 2738 题目分析 题目名称 “矩阵乘法” 与题目内容没有任何关系..就像VFK的 A+B Problem 一样.. 题目大意是给定一个矩阵,有许多询问,每次询问一个子矩阵中的 ...

  6. BZOJ 1717: [Usaco2006 Dec]Milk Patterns 产奶的模式

    Description 农夫John发现他的奶牛产奶的质量一直在变动.经过细致的调查,他发现:虽然他不能预见明天产奶的质量,但连续的若干天的质量有很多重叠.我们称之为一个"模式". ...

  7. Investigation of Different Nets and Layers

    Investigation of Different Nets and Layers Overview of AlexNet (MIT Places | Flickr Finetuned | Oxfo ...

  8. 用PYTHON + PYWIN32 + WMI获取WINDOWS系统基本信息

    网上原码,去了DECODE编码的问题. PyScripter这个PYTHON的IDE工具在WIN下表现不错哟. 感觉比SPYDER,ERIC,SUBLEME TEXT3之类的好用呀.. #!/usr/ ...

  9. 了解php的session_start的工作原理

    一.php使用session_start开启SESSION 二.浏览器访问该php脚本时,将产生两个可能: 1.(客户端的提交的cookie没有找到PHPSESSID的键) 或 (在服务器端没有找到P ...

  10. Android开源项目发现---ViewPager 、Gallery 篇(持续更新)

    1. Android-ViewPagerIndicator  鼎鼎大名,配合ViewPager使用的Indicator,支持各种位置和样式 项目地址:https://github.com/JakeWh ...