vb.net - 如何确定以矩形绘制的文本的大小

标签 vb.net

我在打印页面上输出文本并使用 drawstring 将文本绘制在一个矩形中,以便使用以下调用自动换行:

 ev.Graphics.DrawString(textToOutput, printFont, myBrush, New RectangleF(leftMargin, yPosition, pagewidth - leftMargin - rightmargin, 400))

这很好用。我想确定的是调用 drawscreen 后 Y 的位置(换句话说,文本被包裹在矩形中后的高度是多少)。我正在尝试从数据库打印可变长度的字符串,它们经常会超过页面宽度。我需要知道下一段的垂直开始位置。

最佳答案

您可以使用 Graphics.MeasureString也许this overload of it .来自 MSDN 的部分示例:

Dim stringSize As New SizeF
stringSize = e.Graphics.MeasureString(measureString, stringFont, stringWidth)

您计算出的高度将存储在 SizeF.Height 中.

关于vb.net - 如何确定以矩形绘制的文本的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15043338/

相关文章:

vb.net - 如何将表单上的所有文本框控件与相同的事件处理程序相关联

vb.net - xquery 上限函数的奇怪结果

c# - C# 中缺少 Dictionary(of String, String) Item 属性

vb.net - LINQ VB.Net 变量未声明错误

asp.net - AutoGenerateColumns ="true"时动态设置 gridview 列的宽度

vb.net - 在 vb.net 方法中使用 ByVal,通常的做法是什么?

c# - 如何使用可选参数从 C# 调用用 VB.NET 编写的方法

.net - 在 onconnect 例程中调用 winform 时出错

vb.net - 如何使用 linq to sql 的文本框编辑/更新数据库中的记录?

.net - 如何获取对象的子类?