我想计算VB多行文本框显示整个给定字符串所需的行数。这样我就可以在TextChanged事件期间相应地增加文本框的高度。
答案 0 :(得分:3)
TextBox
有Lines
属性。
int numLines = txt.Lines.Length
但是这只会在TextChanged事件期间返回1。
然后你只有一行。线条由Ènvironment.NewLine(VBCrlf)分隔。你的文字看起来会有多行,但实际上它只是被包装,因为它对视图来说太长了。
尝试以这种方式设置TextChanged
的高度:
Dim s As SizeF = TextRenderer.MeasureText(txt.Text, txt.Font, txt.ClientRectangle.Size, TextFormatFlags.WordBreak)
txt.Height = CInt(s.Height)