自动调整文本框的大小,以便不需要滚动条(或在换行后检测实际行数)

本文关键字:换行 检测 滚动条 不需要 文本 调整 | 更新日期: 2023-09-27 18:01:44

我需要根据文本框的内容调整表单的大小。目前,我无法可靠地检测textbox.text中的实际行数。我所能做的就是计算'n字符出现的次数,但这并没有考虑自动换行。

并且字符没有固定的宽度,所以我无法预测新行将出现在哪里。

是否可以检测文本框的垂直滚动条值/min/max,以便我可以知道有多少隐藏行?(并增加文本框的大小,直到消除滚动)

我有一个文本框:

textBox1.Multiline = true;
textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;

自动调整文本框的大小,以便不需要滚动条(或在换行后检测实际行数)

您最好的选择可能是使用TextRenderer。测量文本来计算文本的大小,然后相应地调整控件的大小。

如果你使用的是WPF,你可以将网格布局面板中的列和行宽度设置为"自动",并让它决定你需要的大小,或者如果你使用的是WinForms,也许这样会有所帮助?

VB。. NET:在将文本绘制到控件

之前查找要绘制的文本的大小