可扩展的WinForms TextBox

Ste*_*her 4 .net height textbox adjustment winforms

我在Windows窗体应用程序中创建了一个文本框,该文本框从一个高度开始,用于在一行中输入文本.但是,如果用户输入包含在控件中的文本,我希望文本框自动增加其高度.

目前,对于此文本框,我将属性multiline和wordwrap设置为true.我已经尝试使用TextChanged事件来确定文本何时被包装但我找不到任何可以帮助我的属性.Lines属性不提供包装文本的任何帮助; 仅限用户点击的文本输入以开始新行.

每次文本换行超过文本框的宽度时,如何让文本框扩展其高度?

Pon*_*dum 7

与其他人发布的相同的想法,把它放在你的textChanged事件中:

Dim s As SizeF = TextRenderer.MeasureText(txt.Text, txt.Font, txt.ClientRectangle.Size, TextFormatFlags.WordBreak)
txt.Height = CInt(s.Height)
Run Code Online (Sandbox Code Playgroud)

您将需要某种最小高度,并可能指定一些填充,但这确实有效.