网站建设资讯

NEWS

网站建设资讯

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

VB.NET中,如何获得文本框中可见区域的首行的行号?

通过向文本框传递EM_LINEFROMCHAR消息可以得到光标所在的行号:

创新新互联,凭借十年的成都做网站、成都网站制作、成都外贸网站建设经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有上千案例。做网站建设,选创新互联

contst

EM_LINEFROMCHAR

=

0xC9

Dim

I

as

Long

I

=

SendMessage(textBox1.Hwnd,

EM_LINEFROMCHAR,

-1,

0)

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

通过对最后一个字符的位置(总长度)的行来判断呗,不过也得加一。

如何实现VB.NET实现代码在datagridview选中行,并在datagridview显示区域居中

非常简单

一:如果知道要选中的行号

datagridview1.Rows(行号).Selected

=

True

datagridview1.FirstDisplayedScrollingRowIndex

=

行号

第一行是选中行号所在的行,第二行是移动滚动条将选中的行在显示区域的最上放显示出来。

二:根据内容选中行并显示

For

i

=

To

datagridview1.Rows.Count

-

1

If

datagridview1.Rows(i).Cells("列的名称").Value

=

要选中行列的值

Then

datagridview1.Rows(i).Selected

=

True

datagridview1.FirstDisplayedScrollingRowIndex

=

i

End

If

Next

而且,如果你不想选中的行显示到最上面,可以这样:

For

i

=

To

datagridview1.Rows.Count

-

1

If

datagridview1.Rows(i).Cells("列的名称").Value

=

要选中行列的值

Then

datagridview1.Rows(i).Selected

=

True

Dim

indeI

As

Integer

=

i

-

15

If

indeI

1

Then

indeI

=

1

datagridview1.FirstDisplayedScrollingRowIndex

=

indeI

End

If

Next

上面的代码是根据某列的值选中行,并且移动滚动条将选中的行在显示区域的第15行显示。

vb.net中DataGridView 显示最后几行怎么写

请把问题叙述清楚?

Dim H As Integer

H = DataGridView1.Rows.Count - (3 + 1) '求得最后第3行的行号

Dim LinStr As String = "" '存放数据的字符串变量

Dim MyH As Integer

Dim MyL As Integer

MyH = H

Do While MyH = DataGridView1.Rows.Count - 1

For MyL = 0 To 2 '每行数据为3列

LinStr = LinStr DataGridView1.Item(MyL, MyH).Value " "

Next

LinStr = LinStr vbCrLf '换行

MyH = MyH + 1

Loop

TextBox1.Text = LinStr

代码已经在VB 2010里通过运行。

VB.NET 错误中断问题

不可以的,但是出现错误的时候不是已经告诉你在多少行了吗?你把行号显示出来就可以了。

显示行号的方法:工具选项文本编辑器basic编辑器

这项下有个行号,你打钩就好了。

这样一来报错的时候,提示在多少行,你就到多少行去看。如果你没有用try的话,错误在哪里,ide会在错误的位置给你标示出来。

vb.net 制作行标尺

左边放一个专门放行数的listbox,根据右边的行数自动生成行号

Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged

Dim arr() = RichTextBox1.Text.Split(vbLf)

Dim str As String

str = ""

For i = 1 To arr.Length

str = str i vbCrLf

Next

RichTextBox2.Text = str

End Sub

接下来是两个listbox的同步滚动,可以参考这篇文章:


当前标题:包含vb.net显示行号的词条
文章位置:http://cdweb.net/article/dosodde.html