
正文
包含vb.net识别文本行号的词条
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
VB.net怎么显示RichTextBox的行数、列数和总行数啊?
求行:
RichTextBox1.GetLineFromChar(RichTextBox1.SelStart)+1
这个代码呢vb.net识别文本行号,vb.net识别文本行号我的理解呢,是获取在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
通过对最后一个字符的位置(总长度)的行来判断呗,不过也得加一。
相关问答
Q1: vb.net如何读取txt文本的第三行,这个程序怎么写?
我以前做过,现在手头没代码和NET环境不便帮你调试。不过给你提供个vb6的代码,语法修改下即可。Dim a As String, b As Integer, d As Integer
a = ""
b = 0
c = InputBox("请输入指定的行号:", "输入行号", 30)
Open "d:\a.txt" For Input As #1
Do While Not EOF(1)
a = Input$(1, #1)
If a = Chr(13) Then b = b + 1
If b = c Then
Line Input #1, a
Text1.Text = a
Exit Do
End If
Loop
Close
Q2: VB.NET中,如何获得文本框中可见区域的首行的行号?
通过向文本框传递EM_LINEFROMCHAR消息可以得到光标所在的行号:
contst
EM_LINEFROMCHAR
=
0xC9
Dim
I
as
Long
I
=
SendMessage(textBox1.Hwnd,
EM_LINEFROMCHAR,
-1,
0)
Q3: VB.net如何读取指定行数的内容的文本框? 比如一个文本位置:当前目录c盘 1 2 3 读第二行
无法读取指定的某一行,只能通过对整个文本框里的字符串,采用字符串函数等方法,分离获得某一行的内容。
vb.net识别文本行号的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、vb.net识别文本行号的信息别忘了在本站进行查找喔。







