包含vb.net显示行号的词条

VB.net怎么显示RichTextBox的行数、列数和总行数?。?/h2>求行:
【包含vb.net显示行号的词条】RichTextBox1.GetLineFromChar(RichTextBox1.SelStart) 1
这个代码呢vb.net显示行号,vb.net显示行号我的理解呢vb.net显示行号,是获取在selstart的地方的行数 。一般来讲selstart的地方都是光标的地方,然后会给vb.net显示行号你返回line 。不过返回的时候要自己加1 。不是很懂这个语法,有懂得可以教我一下
以上是求行数 。
求列:
For i = 0 To RichTextBox1.SelStart
If RichTextBox1.GetLineFromChar(RichTextBox1.SelStart) - RichTextBox1.GetLineFromChar(RichTextBox1.SelStart - i)0 Then Exit For
j = j1
Next i
这个for循环呢 , 讲的是检查这一行光标前有多少个列,然后用J输出列的个数 。
因为VB6.0没有RichTextBox1.GetFirstCharIndexOfCurrentLine这种语法 。所以就得自己模拟这个过程 。
具体怎么检查的呢,首先将 i 从0循环到光标处,
如果 【光标字符数】处的行数 减去 【光标字符数减去 i 个字符数】处的行数小于0了,我写了个不为零 。但此时写小于零就可以 。那么代表着换行了,同时也代表着光标到上一行之间有多少字 。用j存储循环次数 , 得出对应列数 。(我们中文习惯是叫第一列 , 但程序实际上是第零列 , 但在循环的时候就注意到并解决这个问题了)
如果你替换写法,例如
If RichTextBox1.GetLineFromChar(RichTextBox1.SelStart) - RichTextBox1.GetLineFromChar(RichTextBox1.SelStarti)0 Then Exit For
j = j1
Next i
这个 J 就对应着光标到该行结尾有几个字符了,如果有需要可以使用,但一般不需要 。
那么就像上面说的那样 , 行列都求出来了 , 最后用事件和TEXT或者caption表现出来就好了
至于说总行数
RichTextBox1.GetLineFromChar(Len(RichTextBox1.Text))1
通过对最后一个字符的位置(总长度)的行来判断呗,不过也得加一 。
VB.NET中,如何获得文本框中可见区域的首行的行号?通过向文本框传递EM_LINEFROMCHAR消息可以得到光标所在的行号:
contst
EM_LINEFROMCHAR
=
0xC9
Dim
I
as
Long
I
=
SendMessage(textBox1.Hwnd,
EM_LINEFROMCHAR,
-1,
0)
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
还要记?。绻阏谠诵械腸ode与优化启用,像行号可能已经改变 。你总是需要包括PDB文件与您的code,它包含调试用于在这样的情况的信息 。它映射优化code回到原来的来源 。
这篇关于如何在VB.net中的应用程序运行打印行数的文章就介绍到这了 , 希望我们推荐的答案对大家有所帮助 , 也希望大家多多支持IT屋!
关于vb.net显示行号和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读