C#textbox多行时获取行数问题

x5ngchen 2011-07-10 11:06:42
我将textbox设置为多行,如果想获取其中文本的行数,可以采用textbox1.Lines.Length来获取,这个方法应该是查找文本中的换行符数量吧。我现在遇到的问题是:如果我连续输入字符,不敲回车,当字符到达文本框的右边框时会自动转到下一行显示,这从表面上看已经成了两行,但因为没有换行符,Lines.Length获取的行数并没有增加。该怎么解决这个问题呢?我想获取真正的行数(从视觉上看到的)
...全文
535 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
它是一个字符串啊,没有行数的
qldsrx 2011-07-10
  • 打赏
  • 举报
回复
用这个方法即可实现:

textBox1.GetLineFromCharIndex(textBox1.TextLength)+1
此消息通过 【CSDN论坛 Winform测试版】 回复!
x5ngchen 2011-07-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhlin118 的回复:]

实际上它应该还是一行吧,只不过是控件的显示是多行了,只是个视觉变化。
[/Quote]
嗯,因为没有换行符,应该还是一行。但我奇怪的是滚动条设置成Vertical时,它就能自动识别,我自己写的程序为什么就不能。是我用的方法不对么
zhlin118 2011-07-10
  • 打赏
  • 举报
回复
实际上它应该还是一行吧,只不过是控件的显示是多行了,只是个视觉变化。
x5ngchen 2011-07-10
  • 打赏
  • 举报
回复
我是在设置多行显示滚动条时遇到这种情况的。初衷是这样:超过三行自动显示竖直滚动条,小于三行不显示滚动条。如果把ScrollBars属性设置为Vertical,小于三行,滚动条会灰色显示,我想直接把它去掉。把ScrollBars设置为Vertical时,即使是连续输入字符(不回车),超过三行,滚动条也会显示。这是怎么做到的?
x5ngchen 2011-07-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qldsrx 的回复:]

用这个方法即可实现:
C# code

textBox1.GetLineFromCharIndex(textBox1.TextLength)+1


此消息通过 【CSDN论坛 Winform测试版】 回复!
[/Quote]
感谢4楼,问题解决!

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧