0

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

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

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

我有文本框:

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

2 回答 2

1

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

于 2013-03-01T02:11:01.907 回答
0

如果您使用的是 WPF,您可以将 Grid 布局面板中的列和行的宽度设置为“自动”并让它确定您需要的大小,或者如果您使用的是 WinForms,也许这样的东西会有所帮助?

VB.NET:在绘制到控件之前查找要绘制的文本的大小

于 2013-03-01T03:46:58.950 回答