
正文
vb.net怎样显示行号的简单介绍
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
VB.net怎么显示RichTextBox的行数、列数和总行数啊?
求行:
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
通过对最后一个字符的位置(总长度)的行来判断呗,不过也得加一。
相关问答
Q1: vb.net 2013 DataGridView怎么显示 行序号啊
Private Sub DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
Try
Dim rectangle As New Rectangle(e.RowBounds.Location.X, e.RowBounds.Location.Y, Me.DataGridView1.RowHeadersWidth - 4, e.RowBounds.Height)
TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(), Me.DataGridView1.RowHeadersDefaultCellStyle.Font, _
rectangle, Me.DataGridView1.RowHeadersDefaultCellStyle.ForeColor, TextFormatFlags.Right)
Catch ex As Exception
MsgBox(ex.ToString, MsgBoxStyle.Critical + MsgBoxStyle.OkOnly)
End Try
End Sub
Q2: 怎样在VB代码中增加行号
1)在VB代码前添加行号需借助第三方控件或自己添加在代码行前。
Private Sub Form_Load()
0 Dim cnn As New Connection
1 Dim rs As New Recordset
2 Dim sql As String
3 Dim ARR
5 cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\wdOld.mdb;Persist Security Info=False"
6 sql = "select 故障名称 from guzhang_bm"
7 rs.Open sql, cnn
8 Combo1.Text = "故障名称"
9 Do While Not rs.EOF
10 Combo1.AddItem rs("故障名称")
11 rs.MoveNext '打开表
12 Loop
13 rs.Close
14 cnn.Close
End Sub
用来识别一行代码。行号可以是任何数值的组合,在使用行号的模块内,该组合是唯一的。行号必须在从一列开始。
2)VB的集成IDE编程窗口的工具栏中有行号和列号显示。
Q3: vb.net怎么打印执行代码行数
如何在VB.net中的应用程序运行打印行数
[英] how to print out line number during application run in VB.net
查看:341 发布时间:2015/11/25 16:05:39 .net vb.net debugging stack-trace line-numbers
万维广告联盟
🔐 杜绝删库跑路。一个平台登录所有资产,实现事先防范、事中控制、事后溯源,满足等保合规要求。
广告
本文介绍了如何在VB.net中的应用程序运行打印行数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想打印出我的调试消息,在VB.net应用程序的行号。 我不喜欢这样,
Dim st As StackTrace
Dim sf As StackFramee
st = New StackTrace(New StackFrame(True))
sf = st.GetFrame(0)
Console.WriteLine.("Line " sf.GetFileLineNumber())
我想把片段的一类,每次我打电话logMsg方法来记录我的消息,行号源$ C $ C。 但我发现,如果我把上面的代码段为一类,行数总是相同的,这是我新的'圣'。行
的功能是完全一样的具有_ 行的宏C ++。其实我是C ++程序员。
反正来解决这个问题?谢谢。
推荐答案
您已经证明是工作完全按预期的code。它打印在您拍摄的堆栈帧行的数目。因为你已经在不同的类中定义它,它打印包含类文件的行号。
在的getFrame 方法,在这里是非常重要的。栈帧起始编号是0,这是的最后的堆栈帧推。因此,参考帧0,则指示打印的最后的堆栈被推帧的行数的运行时间。当一个方法调用另一个,一个新的堆栈帧创建。
相反,你需要改变你的方法在几个重要方面。首先,你需要获得的第一个的框架被压入堆栈。第二,你可能要接受有关您回应异常含参数的信息。尝试重写你的调试方法看起来是这样的:
Public Sub PrintCurrentLine(ByVal ex As Exception)
Dim st As StackTrace = New StackTrace(ex)
Dim sf As StackFrame = st.GetFrame(st.FrameCount - 1)
Console.WriteLine("Line " sf.GetFileLineNumber())
End Sub
还要记住,如果你正在运行的code与优化启用,像行号可能已经改变。你总是需要包括PDB文件与您的code,它包含调试用于在这样的情况的信息。它映射优化code回到原来的来源。
这篇关于如何在VB.net中的应用程序运行打印行数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
Q4: VB.NET中,如何获得文本框中可见区域的首行的行号?
通过向文本框传递EM_LINEFROMCHAR消息可以得到光标所在的行号:
contst
EM_LINEFROMCHAR
=
0xC9
Dim
I
as
Long
I
=
SendMessage(textBox1.Hwnd,
EM_LINEFROMCHAR,
-1,
0)
vb.net怎样显示行号的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、vb.net怎样显示行号的信息别忘了在本站进行查找喔。







