转自:http://bbs.csdn.net/topics/370059567
问:
我将textbox设置为多行,如果想获取其中文本的行数,可以采用textbox1.Lines.Length来获取,这个方法应该是查找文本中的换行符数量吧。我现在遇到的问题是:如果我连续输入字符,不敲回车,当字符到达文本框的右边框时会自动转到下一行显示,这从表面上看已经成了两行,但因为没有换行符,Lines.Length获取的行数并没有增加。该怎么解决这个问题呢?我想获取真正的行数(从视觉上看到的)
我是在设置多行显示滚动条时遇到这种情况的。初衷是这样:超过三行自动显示竖直滚动条,小于三行不显示滚动条。如果把ScrollBars属性设置为Vertical,小于三行,滚动条会灰色显示,我想直接把它去掉。把ScrollBars设置为Vertical时,即使是连续输入字符(不回车),超过三行,滚动条也会显示。这是怎么做到的?
解决:
用这个方法即可实现:
1
|
textBox1.GetLineFromCharIndex(textBox1.TextLength)+1
|