重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
求行:
达孜网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联公司从2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。
RichTextBox1.GetLineFromChar(RichTextBox1.SelStart)+1
这个代码呢,我的理解呢,是获取在selstart的地方的行数。一般来讲selstart的地方都是光标的地方,然后会给你返回line。不过返回的时候要自己加1。不是很懂这个语法,有懂得可以教我一下
以上是求行数。
求列:
For i = 0 To RichTextBox1.SelStart
If RichTextBox1.GetLineFromChar(RichTextBox1.SelStart) - RichTextBox1.GetLineFromChar(RichTextBox1.SelStart - i) 0 Then Exit For
j = j + 1
Next i
这个for循环呢,讲的是检查这一行光标前有多少个列,然后用J输出列的个数。
因为VB6.0没有RichTextBox1.GetFirstCharIndexOfCurrentLine这种语法。所以就得自己模拟这个过程。
具体怎么检查的呢,首先将 i 从0循环到光标处,
如果 【光标字符数】处的行数 减去 【光标字符数减去 i 个字符数】处的行数小于0了,我写了个不为零。但此时写小于零就可以。那么代表着换行了,同时也代表着光标到上一行之间有多少字。用j存储循环次数,得出对应列数。(我们中文习惯是叫第一列,但程序实际上是第零列,但在循环的时候就注意到并解决这个问题了)
如果你替换写法,例如
If RichTextBox1.GetLineFromChar(RichTextBox1.SelStart) - RichTextBox1.GetLineFromChar(RichTextBox1.SelStart + i) 0 Then Exit For
j = j + 1
Next i
这个 J 就对应着光标到该行结尾有几个字符了,如果有需要可以使用,但一般不需要。
那么就像上面说的那样,行列都求出来了,最后用事件和TEXT或者caption表现出来就好了
至于说总行数
RichTextBox1.GetLineFromChar(Len(RichTextBox1.Text)) + 1
通过对最后一个字符的位置(总长度)的行来判断呗,不过也得加一。
通过查找换行符,vb中的回车(vbLf,或Chr(10))和换行(vbCr,或Chr(13))比较特别,也比较混乱。如果是输出到屏幕,则:单用回车,单用换行,先用换行再用回车,这三种情况下都是从当前行换到下一行去,而先用回车再用换行,就会从当前行往下连续走两行。
如果是输出到文本框(要求允许多行显示),除了换行加回车,才会真正换行外,其他的都不换行,但回车和换行都会各占一个字符的长度。为了统一起见,一般就用vbCrLf(或Chr(13) chr(10))表示换行加回车。
你是想获取总行数?还是选中行和列的索引?
获取总行数:dataGridView1.Rows.Count;
获取当前选中行索引:int
i
=
this.dataGridView1.CurrentRow.Index;
获取当前选中列索引:int
j
=
this.dataGridView1.CurrentCell.ColumnIndex;
Visualbasic代码编辑器没有这个功能,但可以用第三方的编辑软件Emedit来实现这个功能。
1、用Emedit打开*.frm文件。
2、点工具,当前配置属性,然后勾选显示行号即可。