我将textbox设置为多行,如果想获取其中文本的行数,可以采用textbox1.Lines.Length来获取,这个方法应该是查找文本中的换行符数量吧。我现在遇到的问题是:如果我连续输入字符,不敲回车,当字符到达文本框的右边框时会自动转到下一行显示,这从表面上看已经成了两行,但因为没有换行符,Lines.Length获取的行数并没有增加。该怎么解决这个问题呢?我想获取真正的行数(从视觉上看到的)

解决方案 »

  1.   

    我是在设置多行显示滚动条时遇到这种情况的。初衷是这样:超过三行自动显示竖直滚动条,小于三行不显示滚动条。如果把ScrollBars属性设置为Vertical,小于三行,滚动条会灰色显示,我想直接把它去掉。把ScrollBars设置为Vertical时,即使是连续输入字符(不回车),超过三行,滚动条也会显示。这是怎么做到的?
      

  2.   

    嗯,因为没有换行符,应该还是一行。但我奇怪的是滚动条设置成Vertical时,它就能自动识别,我自己写的程序为什么就不能。是我用的方法不对么
      

  3.   

    用这个方法即可实现:textBox1.GetLineFromCharIndex(textBox1.TextLength)+1  此消息通过 【CSDN论坛 Winform测试版】 回复!