vb.net 使用自动换行自动调整多行文本框高度

标签 vb.net winforms visual-studio-2013

我正在尝试在 Visual Studio 2013 的 Windows 窗体应用程序中创建一个固定宽度的文本框,该文本框将以单行高度开始,并随着用户键入和文本换行(自动换行)或用户按下时扩展输入创建一个新行。理想情况下,我想设置一个最大高度,此时将添加垂直滚动条。此外,当用户删除内容时,文本框也应该缩小。

也更希望能够使用富文本框,但我会选择常规文本框。

请告诉我,不需要一些疯狂的解决方法来完成应该相对容易的事情。

提前致谢!!

最佳答案

这对我有用:

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) _
    Handles TextBox1.TextChanged
    TextBox1.Height = 
        TextRenderer.MeasureText(
            TextBox1.Text,
            TextBox1.Font,
            New Size(TextBox1.ClientSize.Width, 1000),
            TextFormatFlags.WordBreak
        ).Height
End Sub

关于vb.net 使用自动换行自动调整多行文本框高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32955640/

相关文章:

c# - 在 Vs 2003 IDE 中查看数据集内容的最佳方式是什么

vb.net - 如何在 VB.NET 中使用 Rhino Mocks 模拟方法(自定义行为)

c# - 如何获得看起来像没有选项卡的 TabControl 的控件?

c# - VB.NET 函数没有返回值,转换为 C# 会返回错误?

vb.net - 如何通过 vb.net 以编程方式使用 Outlook 捕获异常发送电子邮件?

c# - 能够在用户尝试关闭 Windows 窗体而不保存时通知用户请求 'Save Changes'

c# - 后台工作人员在午夜时分检查?

mysql - Vb.net部署到其他机器,使用mysql localhost作为数据库

c++ - CRT库类型

node.js - 打开 nodejs 项目时 Visual Studio 2013 崩溃