【发布时间】:2012-11-04 13:04:23
【问题描述】:
我想计算 VB 多行文本框显示整个给定字符串所需的行数。这样我就可以在 TextChanged 事件期间相应地增加文本框的高度。
【问题讨论】:
-
@HansPassant:有帮助但不重复,因为这个问题没有明确询问滚动条或文本大小。如果实际上有多行,OP 会对
TextBox.Lines感到满意。
标签: vb.net textbox count lines
我想计算 VB 多行文本框显示整个给定字符串所需的行数。这样我就可以在 TextChanged 事件期间相应地增加文本框的高度。
【问题讨论】:
TextBox.Lines 感到满意。
标签: vb.net textbox count lines
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)
【讨论】:
Ènvironment.NewLine (VBCrlf) 分隔。您的文本看起来会有多行,但实际上它只是被换行了,因为它对于视图来说太长了。