VB文本框设置MultiLine 属性为True,可接受和显示多行文本。
MultiLine 属性,返回或设置一个值,该值指示 TextBox 控件是否能够接受和显示多行文本。在运行时是只读的。
在右边的属性框改属性False为True即可。
2楼的兄弟,你算列数的方法也太牛逼了吧,那要是文本 有几百万个字符,你那循环要几百万次呀。
最简单的得到行和列的方法:
int totalline = textBox1GetLineFromCharIndex(textBox1TextLength) + 1;//得到总行数。该行数会随着文本框的大小改变而改变;若只认回车符为一行(不考虑排版变化)请用 总行数=textBox1LinesLength;(记事本2是这种方式)
int index = textBox1GetFirstCharIndexOfCurrentLine();//得到当前行第一个字符的索引
int line = textBox1GetLineFromCharIndex(index) + 1;//得到当前行的行号,从0开始,习惯是从1开始,所以+1
int col = textBox1SelectionStart - index + 1;//SelectionStart得到光标所在位置的索引 减去 当前行第一个字符的索引 = 光标所在的列数(从0开始)
// 假设textbox名为textBox1,首先对textBox1进行如下属性设置
thistextBox1Multiline = true;
thistextBox1ScrollBars = SystemWindowsFormsScrollBarsBoth;
thistextBox1WordWrap = false;
// 之后就可以用如下语句来获取textbox行数了
int lnCount = thistextBox1LinesLength;
// 取得某一行文本的代码示例如下,此处取得第2行文本内容
string txt = thistextBox1Lines[1];
'获得光标位置(按字节计算,起如行和起始列均为0)
Private Function GetCurPos(ptPos As POINTAPI) As Long
Dim nLine As Long, nCol As Long
Call SendMessage(MeText1hwnd, EM_GETSEL, 0, ptPos)
nLine = SendMessage(MeText1hwnd, EM_LINEFROMCHAR, ptPosx, ByVal 0&) '获得行号
nCol = ptPosx - SendMessage(MeText1hwnd, EM_LINEINDEX, -1, 0) '获得列号
GetCurPos = ptPosx '光标位置(按字节计算)
ptPosy = nLine
ptPosx = nCol
End Function
'获得光标位置(按字符计算)
Private Function GetCurPosCh(ptPos As POINTAPI) As Long
Dim nLine As Long, nCol As Long
Dim ByteBuffer() As Byte
SendMessage MeText1hwnd, EM_GETSEL, 0, ptPos
nLine = SendMessage(MeText1hwnd, EM_LINEFROMCHAR, ptPosx, ByVal 0&) '获得行号
nCol = ptPosx - SendMessage(MeText1hwnd, EM_LINEINDEX, -1, 0)
ReDim ByteBuffer(1024)
ByteBuffer(1) = 4
SendMessage MeText1hwnd, EM_GETLINE, nLine, ByteBuffer(0)
ReDim Preserve ByteBuffer(nCol)
nCol = Len(StrConv(ByteBuffer, vbUnicode)) - 1 '获得列号
GetCurPosCh = MeText1SelStart '光标位置(按字符计算)
ptPosy = nLine + 1
ptPosx = nCol + 1
Erase ByteBuffer
End Function
Call GetCurPosCh(ptPos)
GetTextInfo = " 第 " & ptPosy & " 行 , 第 " & ptPosx & " 列"
把文本框的MultiLine属性设为True就可以换行了。
如果你想用代码在文本框中显示多行文字,可以把字符串和vbCrLf连起来。比如Text1Text
=
"abc"
&
vbCrLf
&
"123",这样abc和123就会显示成2行了。
以上就是关于VB文本框如何多行输出全部的内容,包括:VB文本框如何多行输出、C# textbox怎样获取里面文本有多少行、C#里面textbox有多行数。怎么求这多行的数和呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)